algorithmic modeling for Rhino
Hello, a post with trabecualr with voronoi again..
I am thinking about generating uniform point "inside the solid."
That is, all points should be distributed uniformly along the shape of the structure.
How can I do this work ?
Pop-3D may not be used since it generates a random set of points.
Thanks.
p.s. attached file is the solid I want to make points within.
Tags:
Delightful is that I can now use this well behaved (towards not creating big holes in the interior instead of leaving some mesh there) system to modify the original Lloyd's algorithm loops via the Hoopsnake plugin, and get more regular cells at each size scale:
The trick to not destroying the interior was to leave the longest distances alone, instead of just moving everything some fixed % towards the closest edge point.
Instead of using Hoopsnake, which slows down each cycle, I could always copy and paste the Voronoi and post processing block into a tall stack, or place the partner pair in a Grasshopper cluster via the Edit > Cluster menu command and stack those 5-10 times.
Ugh, there's a huge problem translating my 2D system of fractal like branching into a 3D truss: what comes out as Voronoi cell border lines in 2D is what gives the branches, but in 3D those are actually planes instead of lines, so there is no equivalently elegant and orderly branching structure in there made from lines. You only get the mostly triangulated truss which is much tighter, shown here in blue in the 2D version:
If you only sparsely populate those truss points, you don't have as much triangulation and you do get more of a natural bone look, but you lose the orderly branching that I was so excited about in 2D. Also, since hexagons pack 2D space perfectly, the 2D case does create a lot of good areas of hexagons, but in 3D there is no similarly symmetrical space filling object except a cube, but cubes are not what Voronoi emulates at all. If the 2D case branches with three lines per vertex, then the 3D case could ideally branch with 4 lines per vertex, just like the atomic structure of diamond. I was hoping for that, naively, but am now discouraged. A surface adaptive diamonoid lattice is a long way off, it seems. Without the Voronoi relaxation cycles, just distorting an existing lattice somehow merged to the surface as needed local to the surface, won't even out well.
Diamond also is a very specific structure, not amendable to fractal like branching so I'm not even sure what the 3D equivalent of such branching is, whether there is an orderly system. "Branching" is the wrong concept anyway, since they both branch and join together again, forming cells. Pure branching with that ends at the surface is not coming out of Voronoi.
http://www.grasshopper3d.com/photo/stochastic-fractal
Here I have created a superior surface adaptive 3D Voronoi, by using my 2D system of only moving a lot the vertices already near the surface, leaving mostly alone the deeper ones, so I no longer get a blank hole in the interior but I do get lots of surface density:
The full variation is here, instead of a movie, in moving the points near the edges cumulatively more so, while moving the points furthest from the edges less so, from 10% to 90% power:
Varying the original random point seed shows there is some history effect that relies on the original points, despite Lloyd algorithm relaxation, but I think there are only a few stable variations since I found repeats for different seeds too:
The Google search term for this sort of thing is "anisotropic centroidal Voronoi" but usually involves excruciatingly complex math with no source code especially since everybody is optimizing for speed instead of simplicity. Often higher dimensions are invoked and statistical methods of approximation and all manner of tricks to shorten the relaxation cycle time by merely altering rather than recalculating a new Voronoi diagram each cycle.
To enhance the cellular bone structure, there appears to be a distinct looseness still lacking. Its as if a certain Chaos theory algorithm needs to thrown into the mix. There is no intermingling between large and small vornoni pieces. I don't see the small pieces should be exclusively relegated to the perimeter. For example a vein of smaller vornoni pieces could run through the a 3d vornoni structure, on a predetermined path such as a bezier curve,for example.
I'm inventing robot bone.
Here are dual density metal foams being used for real bone replacement:
http://rsta.royalsocietypublishing.org/content/368/1917/1999
wow too much to read... I should read one by one haha. Thanks.
Fantastic. What have you done here though?
Should I accept that it has equilibrated "properly" if there is still ambiguity in triangles in certain cells?:
BTW, much of centroidal Voronoi studies in the technical literature are only a few short years old, new stuff all the time, so my mere guess that one could bias ("space warp") the result within each cycle was just a lucky experiment. Glad you like it!
I also did this is 3D for bone structure studies, so it indeed generalizes to 3D Voronoi cells:
http://www.grasshopper3d.com/forum/topics/voronoi-diagram-and-bone-...
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by