I am working on this case study project just to explore and polish my skill.
Given an input open mesh/ geometry, my goal is to get a clean tri mesh (dual eventually) with evenly spaced vertices that gradually getting looser towards the top. I had some success with the image circle packing, but fail to get a workable mesh at the end. (Attached is the research paper of this beautiful project)
I’ve tried 3 methods, yet none of them result to an ideal mesh, so would love to post my progress for discussion.
Method 1:
Tri remesh of input mesh> circle pack to get evenly distributed vertices> Delaunay with the resultant vertices for an optimized mesh.
Issue: The delaunay mesh at the “legs” is screwed up. I also notice when I include the Kangaroo “show” component for the mesh, the mesh vertices order would shuffle as the circles move freely, which is destructive.
Populate points on input mesh > circle pack to get evenly distributed vertices (Essentially the same as Method 1) > Remesh again using the resultant vertices at fix points.
Issue: The fix points do not give enough influence to keep the vertices to their targeted coordinate.
I did try remesh by color and that was the input geometry that I started with. In the text, the author mentioned that they used particle spring system to find equilibrium for the new points’ location to perform the voronoi calculation (My takes is that they are dual of the triangled mesh). And this is what I am trying to perform in a non destructive way that preserve the general form using the relocated points after equilibrium, thus my instinct is to use image circle for these new set of points.
I understood they are not hexagonal but rather a range of various polygons, but notice the graphic in the paper, the circle are arranged in a very much compact and systematic organization (circle radius are consistent with the gradient), that a simple remesh by color isn’t achieving the same result.
I could misinterpreted as well, and correct me if I am wrong. Welcome the discussion with the community.
This is a bit of lofty description on their part, but in my opinion this could be similar to relaxing an input mesh with Kangaroo, where the edge lengths kinda act like springs.
If the input mesh is triangulated, its dual is a Voronoi mesh composed of n-gons.