Grasshopper

algorithmic 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: 27583

Comment

Comment by Rajaa Issa on December 2, 2019 at 6:25am

Hi Eleni

This wiki page explain the rules: https://en.wikipedia.org/wiki/Dragon_curve

Comment by Eleni Chasioti on December 1, 2019 at 4:06pm

I am trying to turn the dragon curve  script to a terdragon and my first idea was to remove RuleY and turn RuleX το RuleF so  I made  the changes to have :

• angle 120°
• initial string F
• string rewriting rules
• F  F+F−F

The result is not the expected though. Any thoughts?

Comment by Eleni Chasioti on December 1, 2019 at 3:58pm

Amazing work thank you for sharing!

Comment by yong+tse on October 14, 2015 at 12:27am

that's cool.....thanks.

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.

• View All