algorithmic modeling for Rhino

Differential growth in Grasshopper

The definition and code is in the comments bellow.

This is related to this thread:

Views: 1358


You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by nardo chai on July 19, 2015 at 8:54pm

Hi Vicente,  Love the torus with  noise field scaling down. How did you achieved it? Great work!!

Comment by Pieter Segeren on July 18, 2015 at 2:38pm

Now I finally got around to play a bit with your definition I have to say: Awesome!!! Looks crazy cool too. Amazing work Vicente.

Comment by Thomas Helzle on July 17, 2015 at 5:57am

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 :-)



Comment by Daniel González Abalde on July 17, 2015 at 5:21am

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 ~:)

Comment by Vicente Soler on July 17, 2015 at 5:00am

With noise field scaling down over time. For now all the abominations I've grown have begged me to shoot them.

Comment by Vicente Soler on July 16, 2015 at 8:44am
Comment by Vicente Soler on July 16, 2015 at 8:39am

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.

Comment by Nick Tyrer on July 16, 2015 at 7:08am

Vicente, great work! What the colour generation logic?

Comment by Giulio Piacentino on July 16, 2015 at 3:13am

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.

Comment by Vicente Soler on July 15, 2015 at 4:48pm

After a few more iterations, even after sectioning it you can't tell it was a torus.





  • Add Photos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service