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.

All processing stays in your browser. Image uploads are resized to a 640px preview.

Drag the tree to orbit it. Change the seed or canopy, then grow a different branching structure.

Precomputed Space-colonization trees example
Computed example · run to make your own

Ready when you are.

Worker processing · local inputs · downloadable output

How it works

Drag the tree to orbit it. Change the seed or canopy, then grow a different branching structure.

  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

Outputs from the same implementation used in the playground.

A branching tree grown toward a three-dimensional cloud of attraction points
A computed branching structure
A second procedural tree with a different branching arrangement
Another growth result · the rules produce a different structure

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.