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.
Still didn't have the time to dig in deeper myself, but this is really awesome!
Did a quick rendertest in Thea Render for Rhino with the wireframe procedural - Some postwork in Lightroom:
So far it seems that the growth is always sooner or later taking over the whole mesh/space, so at the end there is always one big lump.
- It would be interesting to be able to paint areas of the initial mesh in different shades of grey and have the growth controlled by that.
- Or have the algorithm develop "interest" somehow in certain areas, so the growth is more irregular and diverse.
- Alternatively it could be interesting to have a kind of goal(s) so that the growth is going in a certain direction (-> Light).
Big thumbs-up :-)
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.
Sign Upor Sign In
by Parabolic Design
by Flavian Catargiu
by Parametric House
Added by Parametric House
Added by Petras Vestartas
Added by KineticArchitecture15
Added by Parametric House
© 2018 Created by Scott Davidson.
Report an Issue |
Terms of Service
Please check your browser settings or contact your system administrator.