Fractal Lab

Tool · Playground

L-system editor

Build your own Lindenmayer system. Write an axiom, write rewrite rules (deterministic or stochastic), set the turtle angle and recursion depth, and render. Branching ([ ]) and a random seed for stochastic rules are first-class.

Presets:
string length = 1,792 chars

Grammar

Turtle

Turtle commands

  • F / G — forward + draw
  • f — forward, no draw
  • + / - — turn left / right by angle
  • [ / ] — push / pop turtle state (branches)
  • Any other letter — used as a state symbol, drawn as no-op

Tips

  • Deterministic vs stochastic: write one RHS per symbol for classic L-systems; pipe-separated weighted RHSs (0.5 X | 0.5 Y) for stochastic ones, which model natural variation in plants.
  • Branching grammars need [ and ]. Without branches you can only draw curves, not plants. Push state, draw a sub-branch, pop back to where you were.
  • Watch the string length. Most L-systems grow exponentially. Crank depth carefully — the renderer caps at ~5M chars and the screen usually saturates well before that.
  • Read Prusinkiewicz & Lindenmayer's The Algorithmic Beauty of Plants for the full toolkit (parametric, contextual, and stochastic L-systems). The basics are all here.

The preset-only viewer lives at /tools/lsystems, and the reference page at /fractals/lsystems.

FAQ

Frequently asked questions