L-System
A rewriting grammar that generates branching structures by repeated substitution.
An L-system is a formal grammar introduced by the biologist Aristid Lindenmayer to model plant growth. It consists of an alphabet, an initial string, and a set of rewriting rules applied to every symbol simultaneously at each iteration. Interpreting the resulting string as drawing instructions produces a structure.
Parallel rewriting is what distinguishes it from an ordinary grammar and what makes it a good model for growth: every part of the organism develops at once. A handful of rules and half a dozen iterations produce ferns, trees, and shells with remarkable fidelity.
Extensions broaden the range considerably. Stochastic rules choose among alternatives probabilistically, so no two instances are identical. Context-sensitive rules depend on neighbouring symbols, allowing signals to propagate through the structure. Parametric systems attach values to symbols, so lengths and angles evolve rather than being fixed.
Beyond botany, L-systems generate road networks and street grids — the recursive branching of a main road into secondaries into local streets is naturally expressed as rewriting. Making that usable for a simulated city usually means quantising the output to a grid and generating incrementally, so that the layout is stable and extendable rather than regenerated whole.
See also3
Hand-picked in the note itself — the neighbours worth reading next.
Procedural Generation
Creating content algorithmically rather than authoring it by hand.
Graphics & Games12 connections
Cellular Automaton
A grid of cells whose states evolve by a local rule applied simultaneously everywhere.
Graphics & Games11 connections
Seeded Randomness
Pseudorandom generation from an explicit seed, so any output is reproducible.
Graphics & Games13 connections
Related7
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from9
Notes elsewhere in the wiki that reach for this one.
- Cellular AutomatonGraphics & Games
A grid of cells whose states evolve by a local rule applied simultaneously everywhere.
- Constraint PropagationGraphics & Games
Repeatedly narrowing the possible values of each variable using the constraints, until nothing more can be deduced.
- Game AIGraphics & Games
Computer opponents built to be interesting to play against rather than optimal.
- Procedural GenerationGraphics & Games
Creating content algorithmically rather than authoring it by hand.
- RoguelikeGraphics & Games
A genre defined by procedurally generated runs and permanent death, and the design pressures those create.
- Seeded RandomnessGraphics & Games
Pseudorandom generation from an explicit seed, so any output is reproducible.
- ShaderGraphics & Games
A small program run on the graphics processor for every vertex or every pixel.
- Trick-Taking GameGraphics & Games
A card-game family in which players contest a series of small rounds, and a source of unusually clean rule systems.
- VoxelGraphics & Games
A volumetric pixel — a value on a regular three-dimensional grid.