All studies

Space colonization

Space-colonization trees

Grow a branching tree toward a cloud of attraction points. Its shape emerges from competition for space.

JavaScript · Canvas · Web Workers · Space colonization

View source on GitHub

Try it

Runs locally in your browser. Uploaded images stay on your device.

This scene is generated live in your browser.

Drag the tree to orbit it. Changing the seed, canopy, or attraction points automatically grows a new tree.

Precomputed Space-colonization trees example
Example · update to make your own

Ready when you are.

Worker processing · local inputs · downloadable output

How it works

Drag the tree to orbit it. Changing the seed, canopy, or attraction points automatically grows a new tree.

  1. Seed a three-dimensional canopy volume with attraction points.
  2. Grow each branch toward the average direction of nearby unclaimed points.
  3. Remove reached points and thicken parent branches according to their descendants.

Read the original research
Runions, Lane & Prusinkiewicz · 2007

Computed examples

Round canopy, seed 42. The second tree grows around a spherical exclusion volume.

Unobstructed growth · round canopy · seed 42
Same seed and canopy · branches avoid the marked volume

These images are actual snapshots of the simulation. They were rendered from the computed branch geometry or fluid fields; they are not generated concept images.

Implementation and limits

A geometric growth model, not a botanical or light-transport simulation. Branch competition and spherical obstacles shape the canopy; leaves are simplified for the preview.

Interactive settings are bounded to keep the experiment practical in a browser. Higher detail can cost more processing time without guaranteeing a better result. The implementation and its tests are available in the source repository.