Weighted Voronoi tissue
Dᵢ(x) = ‖Mᵢ(x − pᵢ)‖² − wᵢ Each seed owns the points with the smallest weighted distance. Rotation, stretch, and weight make the cells unequal and approximate a plane cutting through a three-dimensional packing.
Lab 06 / GPU cellular field
A male fern cross-section rebuilt as two coupled geometries: packed ground tissue and sparse vascular islands. Then broken again by Blocktype dither and ASCII.
The cell field flows upward while vascular bundles stay fixed. Move to scan; click or tap to add a bundle. After three, the oldest disperses into the surrounding cells.
Model / not mythology
The pale field is ground tissue. The dense ovals are compatible with meristeles: vascular strands visible when a fern dictyostele is cut across. Their exact positions are developmental, so the shader uses separate rules for cells and bundles.
Dᵢ(x) = ‖Mᵢ(x − pᵢ)‖² − wᵢ Each seed owns the points with the smallest weighted distance. Rotation, stretch, and weight make the cells unequal and approximate a plane cutting through a three-dimensional packing.
W(x) = 1 − smoothstep(t, t + ε, F₂ − F₁) A shared wall appears where the nearest and second-nearest seeds are almost equally distant. The shader stains that narrow boundary instead of drawing polygons on the CPU.
Eₖ(x) = ‖diag(1/aₖ, 1/bₖ) R(−θₖ)(x − cₖ)‖ − 1 Seeded centers establish the initial separation; a click chooses a new cₖ directly. Each static ellipse contains a second, denser tessellation for xylem-like lumens, phloem texture, and the dark sheath.
Dryopteris filix-mas, rhizome cross-section. Image by Josef Reischig, Wikimedia Commons , licensed CC BY-SA 3.0 .
Fern dictyosteles form an interconnected vascular network. A cross-section can show several distinct bundles separated by parenchymatous leaf gaps.
Fern vascular tissues ↗Voronoi models reproduce a useful idealized packing. Actual plant shape also depends on turgor pressure, anisotropic wall mechanics, growth, and division.
Generalized Voronoi tissue model ↗