Skip to content

L-Systems

This model demonstrates generative morphology through parallel rewriting.

An L-system is a grammar that grows. Starting from an axiom, each iteration rewrites all symbols at once. The final drawing is a developmental history made visible.


Idea

Example:

axiom: X
X -> F+[[X]-X]-F[-FX]+X
F -> FF

After several iterations, the string becomes long enough to draw a branching plant.

The important point is that the form is not placed into the system from outside. It is generated by repeated local replacement rules.


Connection to the Repository

L-system concept Repository concept
Axiom Seed state / initial identity
Production rule Learning or memory curation rule
Iteration Developmental time
Branching Divergent but constrained possibility space
Stack push/pop Temporary context and return to prior state

This complements IFS:

  • IFS asks how repeated functions converge to an attractor.
  • L-systems ask how repeated rules build a history-dependent morphology.

Run

cd simulation-models/emergent-dynamics/l-systems
python3 l_systems.py --preset plant --iterations 5 --output plant.png

Presets:

  • plant
  • koch
  • sierpinski

The script prints growth metrics and writes a PNG.


What It Shows

  • small local rewriting rules generate large structured forms,
  • iteration depth changes morphology nonlinearly,
  • form can carry history.

What It Does Not Show

  • that plants, minds, or societies are literally L-systems,
  • that any generated branching form is intelligent,
  • that grammar alone is enough for selfhood.

The useful claim is narrower: development can be modeled as constrained rewriting over time.