The short story:
I would like to ask for the logic behind the planarize component in the Ngon plug in.
The longer story:
I started recreating these days an alogrithm for planarzing hexagonal meshes I found here: https://webspace.science.uu.nl/~vaxma001/
in this article: Dupin Meshing: A Parameterization Approach to Planar Hex-Dominant Meshing
My knowledge of meshes is really small and I just got overhelmed when I saw these articles.So glad I found them.
The process is shown in this picture:
Petras Vestartas, Nicolas Rogeau, Julien Gamerro, Yves Weinand
Modelling Workflow for Segmented Timber Shells using Wood-wood Connections
Design Modelling Symposium (DMS) Berlin 2019.
The planarization is probably the most basic one, when polygon faces are projected to average plane and then their vertices are combined together. This is run several times.
I used this method to planarize extruded mesh edges:
Other method involves tangent plane, when neighbour planes are intersected to computed planar polygon. Which is also constrained to particular geometries (mostly spheres, and negative curvature cases, so flat parts of geometry is always an issue):
I would suggest also to look at Kangaroo2 methods.
I am aware of the paper that you reference, but I doubt there is a close implementation in Rhino.
I believe it is also connected to remeshing and particular geometries. Just look at the naked edges of the geometry shown your figure, they are cut at the border. Meaning there is a surface parametrization to remesh underlying quad patches.
I think @DanielPiker mentioned that hexagons can be represented by two quads so two circles could be inscribed in this hexagon must be planar. There was a lot of discussion on the forum:
There is a general misconception about planarization, that you can put whatever tessellation and solver will give you a planar mesh. It is really connected to underlying curvature and subdivision and often 4 sided nurbs subdivision would not planarize well because the mesh cells are not oriented according to curvature as is described in the paper.
Thank you very much for taking the time to answer so extensively!Really apreciated!
Your paper is just perfect for me, since the algorithm is easier to understand for me and I think you explained it very well.Congratulations on that. Your work has been an inspiration for me since several years.
I saw the tutorials on K2, also for evolution tools, but my incentive is to learn more about meshes and planarisation, tthat´s why I wanted to code it.
The discussion of the Landesgartenschau originally piqued my interest. There is where I saw first the vector field for the surface curvature, which I was able to recreate thanks to a discussion from you and Daniel Piker.
What I still not understand completly in the Landesgartenschau algorithm is the how the agents are influenced by the forcefield, I assume they are guided by some amount of the vectors they pass by.
I searched some detailed explanations to recreate the process of this pavilion, that´s why I ended up in the paper I posted.
Also your physical models are really nice, my aim is to make a physical model after recreating the planarisation algorithm.
May I ask one more thing: In your code , how do I obtain the weigths array/ the weigth for each point(is it the amaount of faces it belongs?)