An L-system (Lindenmayer, 1968) is a formal grammar: starting from an axiom string, every symbol is replaced simultaneously according to a fixed set of rewrite rules, and this is repeated for a chosen number of iterations — the string itself grows, it isn't a shape yet. A "turtle" then reads the finished string left to right and turns it into geometry: F moves forward and draws a segment, +/- turn the heading by the branching angle, and [/] push and pop the turtle's position and heading onto a stack — that stack is what lets a single strand split into a whole branching crown.
- Each plant type below uses a genuinely different rule string, not just different numbers — swapping the grammar changes the whole growth pattern, not just its scale.
- Raising iterations doesn't just add detail: because the rule is reapplied to its own output, the string length grows exponentially, so each extra iteration roughly doubles or triples the plant's complexity.
- This is the same rewriting engine botanists use to model real plant development — unlike a hand-coded recursive branching function, the grammar can encode asymmetric, multi-symbol rules that a simple angle/ratio recursion cannot express.