algorithmic modeling for Rhino
Differential growth in Grasshopper
The definition and code is in the comments bellow.
This is related to this thread:
Hi Vicente, Love the torus with noise field scaling down. How did you achieved it? Great work!!
Now I finally got around to play a bit with your definition I have to say: Awesome!!! Looks crazy cool too. Amazing work Vicente.
De lo mejor que he visto en mucho tiempo por el foro, maravilloso !
Gracias por compartir, me voy a entretener mucho con el código ~:)
With noise field scaling down over time. For now all the abominations I've grown have begged me to shoot them.
Better framerate: http://gfycat.com/RepulsiveClutteredAtlasmoth
Nick: The color is a gradient that paints yellow the newest vertices and orange the oldest. This was to see which edges are splitting but it doesn't look very good.
Giulio: Thanks, ill try compiling it if I continue playing with this. I haven't really had time to test anything, as soon as it sort of worked I posted it.
Things that are easy to play with is changing the Grow() method. In this animation the rate of growth is related to the position of the edges in a simplex noise field. It looks disgusting but with some care I'm sure some rules can be found that look nice.
Vicente, great work! What the colour generation logic?
This is really cool Vicente!
Regarding speed, I am wondering if you tried putting that code into a compiled component. Especially passing large structs should be relatively faster there. For example, the BoxSphereIntersection method that is fed a Box and a Point3d and several property accesses might be inlined by the compiler.
That is because with the compiler you can compile in Release mode. Maybe David will add that possibility in the future in GH, but for now in order to help debugging (mostly line numbers) we have make up without optimizations in Grasshopper.
After a few more iterations, even after sectioning it you can't tell it was a torus.
It should work with any triangulated manifold mesh. All faces should be triangles, the mesh must be closed, and all edges should share only two faces.
There are two inputs that are scale dependent, the 'radius' and 'growth factor'.
In this image I triangulated a doughnut using Daniel Piker's MeshMachine component so that all edges are roughly the same size, then I set the radius input as the largest edge length and the growth input as a small percentage of that.
Sign Upor Sign In
by Shihab Naeem
by Aline Thais S. Nascimento
Added by Antonello Di Nunzio
Added by Benson Sanga
Added by Parametric House
Added by Sim Pern Chong
© 2019 Created by Scott Davidson.
Report an Issue |
Terms of Service
Please check your browser settings or contact your system administrator.