Tree Growth Lab

Compare fixed recursive branching with growth affected by local light, shading and spatial competition.

Use the same seed to make the light model's random decisions repeatable. The L-system itself is deterministic and does not need randomness.

Model A: Simple recursive L-system

Rules rewrite symbols. The final string is interpreted as forward movement, turns and saved branch positions.

Expanded symbols—
Line segments—

Model B: Light-influenced growth

Branches grow individually. Their direction, survival and bud outcomes depend on light, shading, available space and age.

Total branches—
Active tips—
Flowers—
Blooms—
Aborted—
Growth cycles—

Click the plot to move the light and regrow the tree. The shared seed and unchanged parameters make each position reproducible.

Model note: this is a browser implementation of the provided Python rules, not a pixel-for-pixel Matplotlib port. The grid, light-ray sampling and branch collision logic are retained in simplified JavaScript form.