Grasshopper

generative modeling for Rhino

# Generative Algorithms: Lindenmayer-System (L-System)

An L-system or Lindenmayer system is a parallel rewriting system, namely a variant of a formal grammar (a set of rules and symbols), most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms.
L-systems can also be used to generate self-similar fractals such as iterated function systems. L-systems were introduced and developed in 1968 by the Hungarian theoretical biologist and botanist from the University of Utrecht, Aristid Lindenmayer (1925–1989).
For details and samples, check wikipedia

Koch Curve. Implemented with Grasshopper and RhinoScript.

Penrose Tiling. Implemented with Grasshopper and RhinoScript.

Sierpinski Triangle. Implemented with Grasshopper and RhinoScript.

Fractal Plant. Implemented with Grasshopper and RhinoScript.
GH_FractalPlant_LSystem_DynamicAngle.zip

Dragon Curve. Implemented with Grasshopper and RhinoScript.

Views: 7969

Tags: Generative, L-Sytems, VB.NET

Comment

Join Grasshopper

Comment by andres obregon on May 1, 2012 at 12:08pm

Rajaa Thanks for sharing this...

Comment by Nicole Zumpano on November 1, 2011 at 5:06pm

Wow, this is so helpful.  Thank you so much!!

Comment by Rajaa Issa on October 30, 2011 at 10:06pm

Hi Nicole,

I posted another example under the fractal tree (above) with dynamic angle control hooked to a slider.  That should help.

Comment by Nicole Zumpano on October 29, 2011 at 1:23pm

I'm so glad to see that this post is still active!

I've been experimenting with the fractal plant file, but as a complete Grasshopper n00b I cannot for the life of me figure out how to change the rotation angles for + and -.  I notice that the panels "Rotate 25" etc. aren't connected to anything, and that there aren't any 25s in the code, so where could it be?

I'm sure it's totally obvious, but if anybody could help I'd be so thankful! ^^

Comment by Nicholas Murao on September 25, 2011 at 2:48pm
I've been trying to tell the script to start the branching at a point, but I've been failing miserably. Could you possibly post a script that I could follow? Thank you
Comment by Rajaa Issa on September 21, 2011 at 8:40pm

Hi Nicholas,
I am sure there is probably a way to write an L-System that produces result similar to the one in the photo.  I just have not written one and my guess it will take some experimenting to get a new variation of an L-System.  Sorry I do not have something offhand to pass.

Comment by Nicholas Murao on September 21, 2011 at 6:45pm
Sorry I would like to change my question. Similar to this photo I want the L-system to create a layering effect that begins to create a density. Also is there a way to have the L-System to branch out in multiple directions like in the photo above? Sorry for the loaded question hope it's not too much to ask. Thank You
Comment by Rajaa Issa on September 21, 2011 at 4:59pm
Not sure what you need.  Can you show an image or an example of what you want to get?
Comment by Nicholas Murao on September 20, 2011 at 9:50pm
I was wondering if there's a way to use the fractal plants logic bt instead have the branches be curves instead of orth0gonal lines.
Comment by robert cervellione on July 9, 2010 at 9:35am
in 7.0030 version of grasshopper this def throws a critical error that causes the grasshopper canvas to go red. any chance you can update for 7.0030

• View All