A circle wants to grow but has nowhere to go. New nodes appear along its edge, pushing outward, crowding their neighbors, folding back on themselves. The result looks biological because it is biological -- the same forces that ruffle a lettuce leaf and corrugate a brain cortex are at work here. Growth constrained by space.
Start with a closed polygon -- typically a small circle of nodes. At each simulation step, three things happen:
Growth: When the distance between adjacent nodes exceeds a threshold, a new node is inserted between them. This is the engine -- the curve wants to be longer than the space it occupies.
Forces: Every node is subject to competing forces. Repulsion pushes nearby non-neighbor nodes apart (preventing self-intersection). Cohesion pulls neighbors toward their ideal spacing. Alignment smooths sharp angles by pulling nodes toward the midpoint of their neighbors.
Spatial hashing: Repulsion requires checking every node against every other node -- O(n^2) without optimization. A spatial hash grid bins nodes by position, so each node only checks nearby bins. This keeps the simulation tractable as node counts climb into the thousands.
The balance between growth rate and repulsion strength controls the visual character. High growth + weak repulsion = tight, brain-like folds. Low growth + strong repulsion = loose, coral-like fronds. The parameter space is rich.
D'Arcy Thompson's "On Growth and Form" (1917) was the first systematic argument that biological shapes are governed by physical forces, not just genetics. A century later, the idea is mainstream: morphogenesis -- how organisms develop their shapes -- is increasingly understood as a mechanical process.
Alan Turing's reaction-diffusion paper (1952) showed that chemical gradients can create spatial patterns (spots, stripes) from uniform initial conditions. Differential growth is the mechanical cousin: instead of chemical concentration driving pattern formation, it's physical growth rates creating geometric complexity.
The ruffled edges of kale, the folds of a brain cortex, the branching of coral -- all are instances of a surface growing faster than its boundary can accommodate. The excess material has to go somewhere, so it buckles, folds, and ruffles. The simulation captures this process in 2D.
The final curve is a single continuous closed path, which is ideal for plotting -- one pen-down, one pen-up. Line density is highest in folded regions where the curve doubles back on itself. For heavily grown simulations, the total path length can be very long, so plotting time scales with growth iterations. Thinning the output (capturing every Nth simulation step) can produce layered growth-ring compositions.
🐆 Plutarco -- plutarco.ink