🌻 Phyllotaxis — Sunflower Spirals & the Golden Angle
Interactive phyllotaxis simulator using Vogel's model. Place sunflower seeds at the golden angle (137.5°), tune the divergence angle, and watch Fibonacci spiral arms appear and break.
About this simulation
This simulation renders phyllotaxis — the arrangement of seeds, leaves and florets seen in sunflowers, pinecones and pineapples — as a real 3D point cloud. Each seed n is placed with Vogel's model at angle θ = n · δ and radius r = c · √n, where δ is the divergence angle you control. When δ equals the golden angle (360° / φ² ≈ 137.507°, derived from the golden ratio φ = (1 + √5) / 2 ≈ 1.618), the seeds pack with no gaps or overlaps and the visible spiral arms settle into two families whose counts are consecutive Fibonacci numbers.
🔬 What it shows
Up to 20,000 seeds placed by Vogel's formula θ = n·δ, r = c·√n and rendered as an instanced 3D point cloud on a disk, cone or sphere. The live stats panel counts the clockwise and counter-clockwise parastichies (spiral arms) — near the golden angle these lock onto two consecutive Fibonacci numbers such as 34 and 55, or 55 and 89, depending on seed count.
🎮 How to use
Drag the Divergence angle δ slider (135°–140°) a fraction of a degree away from 137.5° and watch the tidy spirals dissolve into gaps and radial spokes; hit Snap to golden angle to restore perfect packing. Change Seed count N (500–20,000), switch the Surface shape between flat disk, cone (pinecone) and sphere, and set Color mode to "By spiral family" to tint each Fibonacci arm separately. Drag to orbit, scroll to zoom.
💡 Did you know?
A real sunflower head typically shows 34 and 55, or 55 and 89, spiral arms in its two opposite-turning families — always consecutive Fibonacci numbers. That happens because the golden angle is the "most irrational" rotation possible: no simple fraction of a turn approximates it well, so successive seeds never line up into wasteful radial spokes.
Frequently asked questions
What is phyllotaxis and what does this simulation model?
Phyllotaxis is the study of how plants arrange repeated organs — seeds, leaves, florets, scales — around a stem or disk, typically in spiral patterns. This simulation reproduces the classic sunflower-seed-head pattern using Vogel's mathematical model, placing each seed n at angle θ = n·δ and distance r = c·√n from the centre, then rendering the result as a live, rotatable 3D point cloud with Three.js.
What exactly is the golden angle and why 137.5°?
The golden angle is the angle you get by dividing a full 360° turn in golden-ratio proportion: 360° / φ² ≈ 137.50776°, where φ = (1 + √5) / 2 ≈ 1.618 is the golden ratio. Because φ cannot be well approximated by any simple fraction, rotating by this exact angle repeatedly never produces two points at the same angular position, which is why it gives the densest, gap-free packing of the seeds.
Why do the spiral arm counts follow Fibonacci numbers?
The visible spiral arms (parastichies) come in two interlocking families, one turning clockwise and one counter-clockwise. Because the golden angle placement makes the Fibonacci-number ratios (1/1, 1/2, 2/3, 3/5, 5/8, 8/13...) the best possible rational approximations of φ, the number of arms you can trace in each family is almost always a pair of consecutive Fibonacci numbers — such as 21 and 34, 34 and 55, or 55 and 89 — with larger seed counts producing larger Fibonacci pairs.
What happens if I move the divergence angle away from 137.5°?
Even a tiny offset, such as 137.3° or 137.6°, breaks the near-irrational balance that prevents seeds from lining up. Instead of a smooth double spiral you get visible straight radial spokes or wide gaps, because seeds separated by a few turns now land at nearly the same angle. The simulation's δ slider (135°–140°) and "Snap to golden angle" button are built to make this contrast obvious.
Why does the radius use a square root (r = c·√n) instead of a straight line?
Vogel's model sets radius r = c·√n specifically because the area of a ring at radius r grows proportionally to r, so scaling r by the square root of the seed index n keeps the area allotted to every seed constant as the pattern grows outward. Without the square root, seeds near the centre would be crowded together while seeds near the edge would be spaced too far apart, which does not match real sunflower or pinecone growth.
Build a sunflower head with Vogel's model: seed n at angle n·137.5° and radius c·√n. Tune the divergence angle and watch Fibonacci spiral arms snap into place — only the golden angle packs without gaps.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install