Simulations and growth

Venation

Veins grow toward scattered growth points and use them up on the way — the way leaf veins, coral and river beds branch.

  • vector geometry
  • SVG export
Open in the editor →

Held up to the light, a leaf shows its plan: a midrib runs from the stalk, side veins branch off it, finer ones off those, and the finest close up into a mesh of loops. It is the leaf's plumbing and frame at once. Coral, cracks and river basins branch alike; this layer grows them all by space colonisation.

How it works

Growth points are scattered through the shape; in a living leaf they stand for cells releasing the hormone auxin. Each point pulls the nearest vein node within the “Attraction radius”. The node takes a “Growth step” in the average direction of all the points pulling it, and a point vanishes once a vein comes closer than the “Kill distance”.

v′ = v + D · norm( Σ (s − v) / |s − v| ) sum over points s whose nearest node is v s vanishes when |s − v| < kill distance widthᵃ ∝ number of tips fed a = 1 / (0.6 · taper): 3 is Murray, 2 Leonardo

That gives open venation, a tree, as in ginkgo. In closed venation (“Closed loops”) a point pulls every vein heading its way and vanishes only when all arrive, so veins meet in loops, as in birch or maple. “Growth front” adds the points gradually: the leaf grows at its margin and the veins branch in tiers. Widths follow the pipe model.

A bit of history

Leonardo da Vinci noted that the branches of a tree at any height add up to the thickness of the trunk: branching preserves the cross-section. In 1926 the physiologist Cecil Murray derived a cube law for blood vessels: minimising the work of pumping and of maintaining the blood makes the parent's r³ equal the sum of the branches' r³. In 1964 the Japanese ecologists Shinozaki, Yoda, Hozumi and Kira described a tree as a bundle of pipes, each feeding its share of foliage. In 2005 Adam Runions, Przemysław Prusinkiewicz and co-authors reproduced leaf venation with a simple model: auxin from the growth points carves its way to the nearest veins. Two years later the same method grew tree crowns.

What to tweak

  • Toggle “Closed loops”: off, a branching ginkgo leaf; on, a mesh that survives damage, as water flows around a vein a caterpillar has bitten through.
  • “Taper” near 0.55 gives Murray's law, near 0.83 Leonardo's rule, and 0 veins of even width.
  • “Shape” “whole frame” with 3–6 “Roots”: veins rise from the bottom edge like roots, lightning or rivers.
  • “Colouring” “by branching order” uses the Strahler order, as hydrologists rank rivers.
  • Being vector, it exports to SVG for a plotter or laser cutter; the “Relief” effect on top embosses the leaf.

Parameters

Shape
leaf · circle · square · whole frame
Growth points
How many points pull the veins: more makes a denser network
Growth step
How far a vein extends per step, share of the short side
Attraction radius
How far a growth point calls veins toward it
Kill distance
How close a vein must come for a point to vanish
Roots
Where veins start; on a leaf several roots fan out from the base
Closed loops
A point vanishes only when every vein heading for it has arrived, so veins meet in loops
Growth front
Points appear as the shape grows out from the roots: the leaf grows at its margin and veins branch in tiers
Tropism
A steady pull on the veins: toward the tip on a leaf, away from the root elsewhere
Wander
Random turns of the veins
Width
Width of the thickest vein, share of the short side
Taper
How much thinner veins get toward the tips (pipe model: a vein is as thick as all it feeds)
Colouring
by distance from the root · by branching order · one colour
Vein colour