Space colonization
Procedural algorithm that grows branching structures — trees, roots, blood vessels — by letting branches creep toward scattered attraction points.
Scatter points through the volume the structure should fill. Each step, every attraction point is tied to its nearest branch node within an influence radius; the node grows one short step in the averaged direction of its attractors; and points that fall within a kill distance are removed. The branching thus seeks out empty space and thickens where points are dense.
Adam Runions and colleagues in Przemyslaw Prusinkiewicz's group described it for leaf venation in 2005 and for whole trees at SIGGRAPH 2007. It drives procedural trees, root systems, river deltas, lightning and coral — anywhere something should branch convincingly without being shaped by hand.