algorithmic modeling for Rhino
In response to this discussion:
I am posting my definition for generating an open foam mesh.
(I didn't post back at the time because there were some troubles with weaverbird back then and I was having to use some ugly workarounds, but now that is all fixed)
To sum up the approach -
take a random cloud of points
generate the 3d voronoi
scale the edges of the cells towards their centres, and also towards the centres of the faces.
connect these 2 sets of scaled edges with mesh quads and join
cull some of the outer faces
subdivide and smooth with weaverbird
(In the video there were some other variations on the smoothing/relaxation, both of the initial point positions and the final mesh, using hoopsnake and/or kangaroo)
This is fun!
And here's a way to go from any mesh to a thickened dual
I created a component for the dual operation (trying out the new GHA wizard). It takes a mesh as input, and outputs polylines for the dual (because rhino doesn't support arbitrary polygon meshes).
There is a choice of how the dual vertices are created - either using centres of the circumcircles of the original mesh faces (which gives the Voronoi diagram if the input is a flat Delaunay mesh), or using the barycenters (which seems to work better on curved or very irregular meshes).
Great, astonishing !
it is getting really serious. I actually have idea how to override connections and points for my ghx, but this need some time with scripting (getting topology from bunch of lines). I hope I will find for it some time soon, cause now I have to do my master degree final.
It creates this geometry (inside) direct from lines. But there is only one limitation - endpoints of these lines and these lines must match voronoi 3d cells connections (delaunay 3d). Only if this condition is true , mesh will follow the line.