Lindenmayer / L-Systems

The Lindenmayer system, or L-system, is a string rewriting system that can be used to generate fractals with dimension between 1 and 2. Several example fractals generated using Lindenmayer systems are illustrated above.

  • "Kevs Tree", 5, 22, "", "F", [ "F=C0FF-[C1-F+F+F]+[C2+F-F-F]" ]
  • "Kevs Wispy Tree", 5, 25, "", "FX", [ "F=C0FF-[C1-F+F]+[C2+F-F]", "X=C0FF+[C1+F]+[C3-F]" ]
  • "Kevs Pond Weed", 5, 27, "", "F", [ "F=C0FF[C1-F++F][C2+F--F]C3++F--F" ]
  • "Sierpinski triangle", 7, 60, "", "A", [ "A=B-A-B", "B=A+B+A" ]
  • "Sierpinski Carpet", 4, 90, "", "F", [ "F=F+F-F-F-G+F+F+F-F", "G=GGG" ]
  • "Sierpinski Median Curve", 8, 45, "", "L--F--L--F", [ "L=+R-F-R+", "R=-L+F+L-" ]
  • "Heighway Dragon", 12, 90, "", "FX", [ "X=X+YF+", "Y=-FX-Y" ]
  • "Dragon Curve", 10, 90, "F", "FX", [ "X=X+YF", "Y=FX-Y" ]
  • "Koch Curve", 4, 90, "", "-F", [ "F=F+F-F-F+F" ]
  • "Koch Snowflake", 4, 60, "X", "F++F++F", [ "F=F-F++F-F", "X=FF" ]
  • "Pleasant Error", 4, 72, "", "F-F-F-F-F", [ "F=F-F++F+F-F-F" ]
  • "Fractal Plant", 6, 25, "X", "X", [ "X=C0F-[C2[X]+C3X]+C1F[C3+FX]-X", "F=FF" ]
  • "Space Filling Curve", 6, 90, "XY", "X", [ "X=-YF+XFX+FY-", "Y=+XF-YFY-FX+" ]
  • "Lace", 6, 30, "", "W", [ "W=+++X--F--ZFX+", "X=---W++F++YFW-", "Y=+ZFX--F--Z+++", "Z=-YFW++F++Y---" ]
  • "Joined Cross Curves", 3, 90, "F", "XYXYXYX+XYXYXYX+XYXYXYX+XYXYXYX", [ "F=", "X=FX+FX+FXFY-FY-", "Y=+FX+FXFY-FY-FY" ]

These rules are taken from http://www.kevs3d.co.uk/dev/lsystems/.