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.
download koch Curve sample...


Penrose Tiling. Implemented with Grasshopper and RhinoScript.
download Penrose Tiling sample...


Sierpinski Triangle. Implemented with Grasshopper and RhinoScript.
download Sierpinski Triangle sample...


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


Dragon Curve. Implemented with Grasshopper and RhinoScript.
download Dragon Curve sample...

Load Previous Comments
  • Eleni Chasioti

    Amazing work thank you for sharing!

  • Eleni Chasioti

    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? 

  • Rajaa Issa

    Hi Eleni

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