Where the angle comes from

The tree and the attractor

The dynamical model settles on the golden angle over a range of one parameter and on the Lucas angle outside it, and it cannot reach the low-growth end at all. The lattice tree reaches everywhere, has no dynamics in it, and produces the same two angles as limits of two paths. Two routes, one pair of numbers.

This site has two accounts of where the golden angle comes from, built in different phases from different arithmetic, and until now they have not been put in the same room.

The first is dynamical. Place each new element where the repulsion from the existing ones is least, let the existing ones drift outward at a rate GG, and the divergence angle settles — on 137.5° over a broad range of GG, on the Lucas angle over another, and on a half-turn when GG is large. The bifurcation diagram is that sweep and it is the site’s central figure.

The second is a lattice. Take a cylinder, ask which parastichy pair is shortest, and lower the rise. The pair climbs a ladder; at each fork the pattern must keep one of its two families; and the fork positions have a closed form. Keeping the larger count every time from the first fork gives divergences converging on 137.508°. Making the other choice once, at the very first fork, gives divergences converging on 99.502°.

Two different angles, twice, out of two constructions that share nothing but the object they describe.

Two paths down the same treeBoth start at the same first fork. Keeping the larger family every time reaches 137.473°; one different choice reaches 99.549°. Neither angle is in the arithmetic — both are limits of a path.100120140-3-2-1log₁₀ of the rise at the forkdivergence angle at the fork (°)137.508° — Fibonacci99.502° — Lucas13 forks, each solved for three equal families137.4730° and 99.5495°
Fig. 1 The two paths down the tree, plotted at the rises where their forks occur. Both start at the same first fork; one choice separates them; the horizontal lines are the golden and Lucas angles, which neither path reaches and both approach.

What the tree says

Every fork has families mm and nn and produces the sum m+nm+n. Below it the pattern keeps either mm or nn alongside the sum, so from (m,n)(m,n) the two continuations are (m,m+n)(m, m{+}n) and (n,m+n)(n, m{+}n).

Start at (1,2)(1,2) and always keep the larger:

(1,2)(2,3)(3,5)(5,8)(8,13)(13,21)(21,34)(1,2) \to (2,3) \to (3,5) \to (5,8) \to (8,13) \to (13,21) \to (21,34)

The divergences at those forks are 128.571°, 142.105°, 135.918°, 138.140°, 137.270°, 137.599°, 137.473° — oscillating, closing in, and converging on 137.50776°.

Start at the same place and keep the smaller once, then always the larger:

(1,2)(1,3)(3,4)(4,7)(7,11)(11,18)(18,29)(1,2) \to (1,3) \to (3,4) \to (4,7) \to (7,11) \to (11,18) \to (18,29)

Divergences 96.923°, 102.162°, 98.710°, 99.838°, 99.378°, 99.550°, converging on 99.502°.

That second number is the Lucas angle, 360(55)/10360(5-\sqrt5)/10, and it is the second branch the dynamical model produces. The counts along the path are 1, 3, 4, 7, 11, 18, 29 — the Lucas numbers.

What the diagram says

The dynamical model, swept over its growth parameter, converges near 137.5° across a broad range and lands more than 20° away at several settings — which is the assertion the build makes, because a model that returned 137.5° for every input would prove nothing.

Where it lands elsewhere, the angle it lands on is one of a small set: the Lucas angle, a half turn, occasionally a third. The classification is deliberately coarse, since the point is that a small number of distinguished angles appear rather than that any run lands within a tenth of a degree of one.

So both accounts produce the same short list. The dynamical model produces it as a set of attractors of a process; the lattice produces it as a set of limits of paths through a tree.

Why they agree

The correspondence is not a coincidence and it is worth setting out, because it makes both accounts easier to hold.

At a fork the lattice is equilateral: three families equally short, every element with six equidistant neighbours, which is the tightest packing the surface allows. A dynamical rule that places each element as far as it can from the others is doing local optimisation of exactly that quantity. So a system that keeps optimising while its growth parameter falls will track the forks — it is following the sequence of best-packed configurations, and the tree is a list of them.

Which branch it takes at each fork is then decided by where it came from, because the two daughters are both locally optimal and the system cannot jump. That is continuity, and it is the whole of the mechanism: the model does not choose Fibonacci, it declines to jump, and the path that never jumps from a coarse start is the Fibonacci path.

Two consequences follow and both are visible in the figures. The angle a system ends at depends on its history, not only on its current parameter — the signature of hysteresis. And the Lucas branch is reachable only by taking the other daughter at the very first fork, which is why plants with Lucas phyllotaxis exist, are uncommon, and are not intermediate between anything.

What the model settles on, against how fast the meristem growsA broad golden branch, a transition, and then the two-whorl regime at exactly half a turn. 8 of 27 converged settings land within 4° of the golden angle; 15 land more than 20° away.1001251501750.50011.50growth parameter Gangle the model settles on (°)goldentwo-whorlfilled: converged · hollow: still wanderingone rule, one knob
Fig. 2 The dynamical route. Sweeping the growth parameter gives a broad golden branch, a transition, and the whorled regime — and the sweep stops at G = 0.18 because below that the discrete implementation stops converging.
Every transition as the rise fallsThe pair climbs 1/2 → 2/3 → 3/5 → 5/8 → 8/13 → 13/21. Consecutive transitions are 0.382, 0.382, 0.383, 0.382 of the previous rise — 1/φ² is 0.3820.0.2500.5000.75011.25-2.50-2-1.50-1-0.500log₁₀ of the rise between nodes (falling to the right is the plant growing)log₁₀ of the larger parastichy number2/33/55/88/1313/21500 rises, shortest vectors recomputed at eachratio 0.3820 against 1/φ² = 0.3820
Fig. 3 The lattice route’s reach. It runs to a rise of 0.0025 and a pair of 13/21 in this figure and could run further; the dynamical model’s sweep stops well above the first of these transitions.

The parameter both routes are sweeping

The correspondence is easier to hold once one notices that the two figures have the same horizontal axis under different names.

In the dynamical model, GG is how fast an element drifts outward per step. An element of age kk sits at radius eGke^{Gk}, so a small GG means many elements crowded near the boundary and a large GG means few.

On the cylinder, the rise hh is how far the pattern advances per element, in circumferences. A small hh means many elements per turn and a large hh means few.

Those are the same quantity: elements produced per unit of the pattern moving on. The botanical name for it is the plastochron ratio, and it is a number a botanist can measure with a ruler — internode length over apex circumference — which is more than can be said for most parameters in either model.

So the bifurcation diagram and the ladder are two pictures of what happens as one measurable developmental quantity falls, drawn by two constructions that share nothing else. That is what makes them comparable at all, and it is why the correspondence between their outputs is worth checking rather than assuming.

What each route can reach

The two accounts are not equivalent, and their limitations are almost exactly complementary.

The dynamical model has an edge and the lattice does not. Below a growth parameter of about 0.18 the discrete implementation — a sampled boundary, inverse-cube repulsion, a finite window of remembered elements — stops converging: the settled angle wanders over a hundred degrees however long the run. That limit is stated rather than hidden, and it is a property of the implementation, not of the subject.

The low-growth end is precisely where the high Fibonacci pairs live, so the model that explains the angle cannot reach the regime where the famous counts occur. The lattice route has no such edge. There is no boundary to sample and no history to truncate, so it runs to a rise of 0.0004 and a pair of 21 and 34, and it could run further.

The lattice has no dynamics and the model does. Nothing in the tree says a pattern moves along it, or which branch it takes, or that it takes any. The tree is a catalogue of configurations; the model is a process. Only the process can produce an angle as an output, which is the claim the emergence field exists to make.

So neither is sufficient. The model says the angle is an attractor and cannot reach the interesting regime; the lattice reaches everywhere and cannot say why a plant would be anywhere in particular.

Where the phase plan expected something else

Worth recording, since it is the sort of thing that gets quietly dropped.

The plan for this phase called for a continuous formulation of the dynamical model, on the reasoning that a continuous version would not have the discrete one’s low-growth limit and could therefore reach the Fibonacci ladder.

That was attempted and abandoned. A continuation scheme — lower the rise, re-optimise the divergence starting from where it was — was written, and it wandered: from every starting angle it produced the same erratic sequence of pairs, 2/5, 5/7, 3/8, 3/11, and settled on 111.98°, which is not an attractor of anything. The reason is now clear from the tree: the maximin criterion has many local optima, one per branch, so a continuation with a search window wider than the branch spacing hops between branches at every step.

The fix would have been to narrow the window and shrink the steps, at which point the continuation becomes an expensive numerical way of tracing the forks — which the closed form does exactly, instantly, and without a tolerance.

So the planned deliverable was not built, and what replaced it reaches further than it would have. That is a better outcome than the plan and it is not what was intended; the honest record is that the intended approach failed for a reason that only became visible once the tree was drawn.

The plane of stems: divergence across, rise upEach shade is one parastichy pair. The marked points are the lattices where three families are equally short — the forks — and the Fibonacci ones run up the middle towards 137.51°.-2-1.50-1-0.500100120140160180divergence angle (°)log₁₀ of the rise between nodes1,2,32,3,596 × 150 lattices, each solved827 runs drawn
Fig. 4 The map the dynamical model is traversing without knowing it. Its growth parameter falling is a descent down this page; the branches it settles on are the regions it passes through.

Where the correspondence stops

Two places, and both are worth stating so the analogy is not carried further than it goes.

The dynamical model’s whorled regime has no counterpart in the tree as drawn. At large GG the model settles on exactly half a turn — two elements per level, opposite each other — and the tree’s forks are indexed by coprime pairs, which excludes whorls by construction. A whorled pattern lives in the plane, at a divergence that is a simple fraction, but it is not on any branch of the tree of forks.

That is a real gap rather than a notational one. The tree describes how spiral patterns transform into other spiral patterns; the transition from spiral to whorled is a different kind of event and neither figure here captures it.

The tree has no time and therefore no rates. How fast a pattern descends matters in the model — a system whose parameter changes faster than the pattern can re-equilibrate will not track the optimum, and can jump. Nothing in the lattice route can even express that question, because the lattice has no relaxation time.

The same caution applies to reading either figure as a developmental history. Both sweep a parameter; neither runs a plant. What connects them to development is that the parameter is measurable — internode length over apex circumference — and that it falls monotonically as a shoot matures.

So the correspondence is between a quasi-static reading of the dynamical model and the tree. Where the dynamics are fast relative to the parameter change, the two agree. Where they are not, only one of them has anything to say, and it is not the tree.

What the tree does not explain

Three limits, since the correspondence invites over-reading.

It does not explain the golden angle. It shows that 137.508° is the limit of one path through a branching structure. Why a plant is on that path rather than another is a question about how patterns move through the plane, which is dynamics, which the tree does not contain.

No fork is at the golden angle. Every fork sits at a rational divergence with denominator 2(m2+mn+n2)2(m^2+mn+n^2), and the golden angle is irrational, so the sequence approaches and never arrives. A pattern exactly at 137.50776° is not at any fork; it is at the accumulation point of infinitely many of them, and the biological meaning of that is not obvious.

Agreement is not confirmation of either model. Both are models of form, and the counting that measures them measures form too. The dynamical rule reproduces spirals; so do magnetised droplets; so does a great deal else. Two models of form agreeing establishes that the form is robust, which is exactly why form is weak evidence about mechanism.

What a divergence picked at random gives, at a rise of 0.100Fibonacci pairs take 59.6% of the circle at this rise, and the share falls as the rise does. The claim that Fibonacci counts are what nature "prefers" needs the preference to come from somewhere, and it is not from the geometry being generous.Fibonacci57.2%Lucas17.0%whorled11.8%other14.0%5 distinct pairs over 1200 divergencesrise 0.083Fibonacci 57.2%
Fig. 5 The width of the branches, measured. The Fibonacci regions narrow as the rise falls, which is why continuity matters: a pattern that jumped at random would almost never land back on them.

Why continuity is the whole of it

If the tree is the structure and the branch choice is the mechanism, then the question “why is a plant Fibonacci?” becomes “why does it never jump?”, and that is a much more tractable question.

A jump means the pattern’s divergence changing discontinuously, by enough to leave one region of the plane and enter a non-adjacent one. Nothing in a growing shoot does that. Internodes shorten gradually, apices broaden gradually, and the pattern’s parameters move slowly and continuously through the plane.

At each fork, both daughters are locally available and the pattern takes whichever its current divergence puts it nearest. Starting coarse, that is always the same daughter — the one that keeps the larger count — and the reason is arithmetic rather than biological: at the fork with families mm and nn, the divergence is already closer to the region of (n,m+n)(n, m{+}n) than to that of (m,m+n)(m, m{+}n) for the coarse starting configurations.

So the Fibonacci path is the default path, in the specific sense of being what a continuous descent from the top of the tree produces. Lucas phyllotaxis requires a departure at the very first fork, when the pattern has two or three elements and is at its most susceptible to a perturbation — which fits the observation that Lucas plants are uncommon rather than absent, and that the character is fixed early.

That last point is a prediction rather than a result here, and it is the sort of thing that could be checked on real material: whether a shoot that will be Lucas is distinguishable at its first few nodes, and whether the switch can be induced.

What the agreement is worth

It is worth this: the two angles are not artefacts of either construction.

That is not a small thing on a subject where almost every quoted number is an artefact of how it was quoted. A sweep over divergence angles can never land on the golden angle because every grid point is rational. A dynamical run has a resolution set by how finely its boundary is sampled. A lattice tree has a fork-finding tolerance. Each of those could have produced 137.5° for a reason having nothing to do with the subject.

They did not produce it for the same reason, and they produced the same second number as well. When two routes with different failure modes agree on two values, the values belong to the object rather than to either route.

The plane of stems: divergence across, rise upEach shade is one parastichy pair. The marked points are the lattices where three families are equally short — the forks — and the Fibonacci ones run up the middle towards 137.51°.-2-1.50-1-0.500100120140160180divergence angle (°)log₁₀ of the rise between nodes1,2,32,3,596 × 150 lattices, each solved827 runs drawn
Fig. 6 The plane both accounts live in. The dynamical model traverses it downward as its growth parameter falls; the tree is the map of the regions it passes through. The forks marked are where the traverse has to choose.
The spiral counts four different divergence angles produceFibonacci counts come from one angle. The Lucas angle — which the same dynamical model reaches on a different branch — gives 47 and 76, and neither number is a Fibonacci number.golden 137.51°55 and 89FibonacciLucas 99.50°47 and 76Lucas151.14°50 and 81neither77.96°37 and 60neithercounted from the pointsone sequence per branch
Fig. 7 The list both routes produce, from a third direction: four divergences counted from coordinates. The distinguished angles are distinguished by what their counts do, not by anything about the angles themselves.

Two failure modes that did not overlap

The reason to trust the agreement is that the two routes could have been wrong in unrelated ways, so it is worth naming what each one’s characteristic failure would have looked like.

The dynamical model’s failures are about resolution and truncation. Its boundary is sampled at 720 points, so it cannot resolve an angle better than half a degree; its window of remembered elements is finite, and a window that is too short leaves the model unable to order itself — which is exactly what produces the non-convergence below G=0.18G = 0.18. A model with those failures could easily settle near a value for reasons having nothing to do with the subject.

The lattice route’s failures are about search and dominance. Its forks are found by bracketing sign changes on a residual, so a missed bracket loses a fork; and several roots of the equations describe lattices where the given families are short but not shortest, so a check that omitted the dominance test would return spurious forks. A tree with those failures could produce a plausible sequence converging on the wrong thing.

Neither failure mode can produce the other’s answer. A sampling artefact in the dynamical model has no reason to land on the limit of a sequence of exact rationals; a missed bracket in the fork solver has no reason to land on the attractor of a repulsion rule.

They agree on 137.508° and on 99.502°, which is two numbers rather than one — and agreeing twice by coincidence is a good deal less likely than agreeing once.

The one-line version

A branching tree with no time in it and a dynamical process with no lattice in it both single out 137.508° and 99.502°, as a limit and as an attractor respectively. The tree reaches the regime the process cannot; the process supplies the motion the tree lacks.

Neither says why a plant is on the Fibonacci branch. Both say what being on it consists of: never having jumped.