🍃 Leaf Venation Growth

Veins grow toward scattered auxin sources using the canalization algorithm: transport capacity increases with flow, carving efficient branching networks that mirror real leaf vasculature.

Life ScienceInteractive
Click canvas to reset with fresh auxin sources · P pause · R reset

How it Works

A single vein node starts at the leaf's petiole (base). Hundreds of auxin source points are scattered randomly inside a leaf-shaped outline, each representing a patch of tissue signalling for vascular supply. Every growth step, each active vein tip searches for unclaimed auxin sources within its sensing radius, averages the direction toward all of them (the space colonization algorithm), and extends a short new segment that way with a little random jitter for branching variety. Any auxin source that ends up within a small kill radius of the new tip is consumed and removed, since that patch of tissue is now served.

Each time a new segment is added, every segment on the path back to the base gets its flux count incremented, modelling the auxin canalization hypothesis: cell files that carry more auxin flow become progressively better at transporting it, differentiating into wider, more efficient veins. The simulation renders high-flux segments thicker and darker and low-flux segments thin and pale, which is exactly the positive-feedback signature seen in real leaf vasculature, where a few major veins carry most of the flow while many minor veins branch off from them.

Attraction direction: d = normalize(Σ (source_i - tip) for source_i within sense radius)
New segment: tip' = tip + growthSpeed · rotate(d, ±jitter)
Consumption: remove source if |source - tip'| < killRadius
Canalization: flux(edge) += 1 for every edge on path(tip' → base); lineWidth ∝ flux^(canalStrength/10)

Frequently Asked Questions

What is auxin canalization?

Auxin canalization is the hypothesis that vein patterns form because cells that transport more auxin become better at transporting it, a positive feedback loop that channels flow into narrow, increasingly efficient files of cells that become veins.

What does the space colonization algorithm do here?

Each vein tip looks for nearby unclaimed auxin sources within its sensing radius, averages the directions toward them, and grows a short new segment that way, which is the same space colonization approach used to generate realistic branching plant structures.

Why do auxin sources disappear as the network grows?

Each auxin source represents a patch of leaf tissue that needs a vein nearby to supply it. Once a vein tip grows within the kill radius of a source, that patch is considered served and the source is removed, which is what stops veins growing forever.

Why are some veins drawn thicker than others?

Every time a segment lies on the path from a newly grown tip back to the leaf base, its flux count increases. Segments with higher flux are rendered thicker and darker, visualising how heavily used transport routes canalize into major veins while side branches stay thin.

Does this match how real leaves form their veins?

The broad pattern does: real leaf veins form early from procambial cells that canalize auxin flow toward developing tissue, producing a hierarchical network of major and minor veins remarkably similar in structure to what the space-colonization-plus-canalization model produces.

What happens if I increase the auxin source count?

More auxin sources means more competing pull directions for each vein tip, which tends to produce a denser, more finely branched network, similar to how leaves with higher vein density support more photosynthetic tissue per unit area.

About this simulation

Written by MySimulator Team · Reviewed by MySimulator Editorial Review

Last updated: 11 July 2026

Every new millimetre of vein in this simulation is a vote cast by the auxin sources it just consumed — a tip growing toward a lonely cluster of dots branches off on its own path, while a tip near the busy trunk of the network keeps getting reinforced with flux. That single rule, repeated thousands of times, is enough to turn one bare stub at the leaf base into a fully hierarchical network of thick major veins feeding a lattice of thin minor ones, without any global plan for what the finished leaf should look like.

🔬 What it shows

A single vein growing outward from the leaf base via the space colonization algorithm, consuming scattered auxin sources as it goes while flux-based canalization thickens the most heavily used branches into major veins.

🎮 How to use

Click anywhere on the canvas to reset with a fresh scatter of auxin sources; raise Canalization Strength to exaggerate the thickness contrast between major and minor veins, and use Branching Jitter to make growth more erratic and bushy.

💡 Did you know?

Leaf vein density varies enormously across species, from under 2 mm of vein per square millimetre in some ferns to over 20 mm/mm² in some flowering plants, and denser venation generally correlates with higher photosynthetic capacity and faster growth.

Frequently asked questions

What is auxin canalization?

Auxin canalization is the hypothesis that vein patterns form because cells that transport more auxin become better at transporting it, a positive feedback loop that channels flow into narrow, increasingly efficient files of cells that become veins.

What does the space colonization algorithm do here?

Each vein tip looks for nearby unclaimed auxin sources within its sensing radius, averages the directions toward them, and grows a short new segment that way, which is the same space colonization approach used to generate realistic branching plant structures.

Why do auxin sources disappear as the network grows?

Each auxin source represents a patch of leaf tissue that needs a vein nearby to supply it. Once a vein tip grows within the kill radius of a source, that patch is considered served and the source is removed, which is what stops veins growing forever.

Why are some veins drawn thicker than others?

Every time a segment lies on the path from a newly grown tip back to the leaf base, its flux count increases. Segments with higher flux are rendered thicker and darker, visualising how heavily used transport routes canalize into major veins while side branches stay thin.

Does this match how real leaves form their veins?

The broad pattern does: real leaf veins form early from procambial cells that canalize auxin flow toward developing tissue, producing a hierarchical network of major and minor veins remarkably similar in structure to what the space-colonization-plus-canalization model produces.