Where the angle comes from

The angle is an output

137.5° is not a constant of nature. It is where a rule settles — a rule that places each new element as far as it can from the ones already there, contains no reference to the golden ratio, and reaches the same answer from starting angles a hundred and sixty degrees apart.

Worth reading first: A head is a set of points.

The golden angle is usually introduced as a number that plants use, which raises an obvious question that popular accounts step around: how would a plant know it?

The answer is that it does not have to. The angle is not an input to anything. It is where a very simple rule ends up.

The rule, 26 steps in, at a growth of 0.40The next primordium goes where the repulsion is least — the marked minimum at 216°. Nothing in the rule refers to any particular angle.05e+51e+61.5e+60100200300angle around the boundary (°)repulsion from what is theregrowth 0.40 · 14 elements in playthe minimum is where the next one goes
Fig. 1 The rule, part way through a run. Elements drift outward as the meristem grows; the next one appears where the repulsion from everything already there is least. The curve on the right is that repulsion around the boundary, and the marked minimum is where the next element goes.

The rule

Douady and Couder wrote it down in 1992 and it takes one sentence.

New elements appear on the boundary of a growing meristem. Each one, once formed, drifts outward as the meristem grows. The next one appears at the angle where the repulsion from all the existing elements is least.

That is the whole model. It has one parameter — how fast the elements drift outward relative to how often they appear — and it contains no reference to the golden ratio, to Fibonacci numbers, or to spirals. A reader looking for where 137.5° enters will not find it, because it does not enter.

The repulsion falls off with distance, and the exponent barely matters; this implementation uses an inverse cube, which is what the magnetic droplets in the original experiment actually obey.

What it settles on

Run it and the divergence angle it produces settles down.

From a seed angle of 112°, the last thirty steps of a run give 137.00° with a spread of exactly zero. From 277° — a hundred and sixty-five degrees away — the same. Two runs with nothing in common but the rule arrive at the same place and stay there.

Two runs of the same rule from unrelated starting angles. Both settle at 137.0°, within 0.5° of the golden angle, from seeds 166° apart.
Fig. 2 Two runs of the same rule from unrelated starting angles. Both settle, and both settle on the same value.

That is what an attractor is: a value the system moves toward from a wide range of starting conditions, and stays at once it arrives. The golden angle is not stored anywhere in the rule; it is a property of the rule’s dynamics.

Why the rule finds it

The intuition is short and the precise version is a theorem.

A new element placed at angle δ from the last one is well away from its immediate predecessor. But it is also, after many steps, at angle 2δ from the one before that, 3δ from the one before that, and so on. If δ is a simple fraction of a turn, then after a few steps some multiple lands almost exactly on top of an earlier element, and the new one has nowhere good to go.

So the rule is under pressure to choose an angle whose multiples avoid whole turns for as long as possible — an angle badly approximated by fractions. And there is a unique number that is worst-approximable, which is the golden ratio, and its angle is 137.508°.

The rule does not know any of this. It has an energy landscape with a minimum, and the minimum happens to be there, because avoiding the neighbours over many generations is the same problem as avoiding rational approximations. That equivalence is where the arithmetic and the biology meet, and it is the only place they do.

Convergence is not exactness

The model here settles on 137.00°, not 137.508°, and the half-degree gap is worth accounting for honestly rather than rounding away.

Part of it is resolution: the boundary is sampled at 720 points, so the model cannot express an angle more finely than half a degree. That part is worth doing the arithmetic on, because it turns out to be nearly the whole of it — 137.508° less 137.00° is 0.508°, which is 1.02 steps of a 720-point grid. The gap is one grid step, and the other two causes below are needed to explain a residue of about one hundredth of a degree rather than a half. Part of it is the finite window — only the nearest few dozen elements are counted, and the true problem involves all of them. Part of it is the discreteness of the model itself, which places elements one at a time on a boundary of fixed radius while a real meristem does something continuous.

The claim the model supports is therefore “settles near the golden angle”, and the site says that rather than the stronger thing. What makes it convincing is not the precision but the independence: an angle within half a degree of 137.508°, reached from unrelated starting conditions, by a rule with no reference to it.

What the model establishes

Three things, and it is worth separating them because they are usually run together.

That the angle need not be stored. A system with no memory of any particular angle produces one. That removes the mystery the popular framing creates, which is the mystery of how a plant knows a transcendental-looking number.

That the angle follows from crowding. The rule is nothing but “get away from the neighbours”, so any process with that character will land in the same place. That is a strong statement and it makes a prediction: systems with nothing biological in them should do it too, and they do.

That there are other answers. The parameter changes what the rule settles on, which is the next essay, and it is the part that turns a constant into a diagram.

What it does not establish

It does not establish that any plant works this way.

The rule is an abstraction of a physical situation — elements that repel, on a growing boundary — and the real mechanism in a plant is auxin: a hormone whose transporters concentrate it where it is already concentrated, so that an existing primordium depletes its neighbourhood and the next one forms where the depletion is least. That is a different process with the same character, and it was worked out decades after the geometry.

The relationship between the two is the honest one to state: the dynamical model shows what kind of process produces the pattern, and the biology says which process it is. Neither substitutes for the other, and a model reproducing the pattern is not the same as explaining it.

Two runs of the same rule from unrelated starting angles. Both settle at 139.2°, within 1.7° of the golden angle, from seeds 166° apart.
Fig. 3 The same rule at a slower drift. The angle is not written into it anywhere; it is what a run converges on.

The interaction window, and a bug that looked like physics

The rule as stated sums the repulsion from every existing element. In practice the sum is truncated — elements far from the boundary contribute almost nothing, and carrying them all makes a bifurcation sweep intolerably slow.

The first implementation truncated at a fixed count: the most recent forty elements, say. That is wrong, and the way it is wrong is instructive.

How many elements lie within a given radius ratio of the boundary depends on the growth parameter. At high G each element clears the neighbourhood quickly, so forty is far more than enough. At low G they crawl, so the forty most recent are all still within a hair of the boundary and the ones that matter — slightly older, slightly further out, still exerting force — are outside the window.

The symptom was that the model failed to converge at low G, which is a real phenomenon and was therefore easy to accept. The genuine limit is at G ≈ 0.18; the buggy version put it near 0.5, and the difference was invisible without knowing what to look for.

The fix is to scale the window: the number of elements within a fixed radius ratio is log(ratio)/G, so the window grows automatically as the parameter shrinks. That recovered the middle of the range and left the genuine limit where it is.

The general lesson is one this site keeps meeting. A numerical parameter chosen for speed can produce a result that reads as a property of the system, and the only defence is to derive the parameter from the model rather than pick it.

Two runs, and what agreement is worth

The convergence demonstration uses two runs from seed angles a hundred and sixty-five degrees apart, and the design of that test is deliberate.

A single run settling on 137.5° is weak evidence: a rule with a strong preference built into it would do that too. What distinguishes an attractor from a stored constant is that unrelated starting conditions arrive at the same place, and the further apart the starts the stronger the statement.

The last thirty steps of each run agree to a spread of exactly zero, which is the useful form of the result: not “both runs end near 137.5°” but “both runs stop moving, at the same value”.

A related check runs the model with the repulsion switched off and confirms it produces nothing of the kind — an obvious control, and the sort that occasionally fails and reveals that a figure was drawing a Vogel head all along.

Two runs of the same rule from unrelated starting angles. Both settle at 138.0°, within 0.5° of the golden angle, from seeds 166° apart.
Fig. 4 A little faster. Two runs from unrelated starts reach the same value at each of these settings.

What the model does not contain

Worth enumerating, because the claim being made is a negative one and negatives are easy to state loosely.

There is no golden ratio in the code. No φ, no √5, no 137.5, and no constant that evaluates to any of them.

There are no Fibonacci numbers. The counts that come out are found by a separate counter handed only coordinates, and it does not know what answer to prefer.

There is no spiral. The rule places points; the spirals are a way of looking at the result, not an ingredient of it.

There is no optimisation of packing. The rule is local and greedy — the next element goes where the repulsion is least now — and it never evaluates any global quantity. The packing measurements are done afterwards, by different code, and they do not single out the answer the model reaches.

A reader who wants to check that list can grep for it, which is the point of stating it as a list.

What the model settles on, against how fast the meristem grows. A broad golden branch, a transition, and then the two-whorl regime at exactly half a turn. 9 of 27 converged settings land within 4° of the golden angle; 15 land more than 20° away.
Fig. 5 The diagram the constant is one branch of. Sweeping the growth parameter gives a golden branch, a transition and a two-whorl regime at half a turn.

From a local rule to an arithmetic property

The gap this essay leaves open is the interesting one, and closing it is a mathematical rather than a computational job.

The rule knows nothing about continued fractions. The property that makes the golden angle special is entirely about continued fractions. So why does a greedy local rule find the number with the worst rational approximations?

The short answer is that a rational divergence angle makes the pattern periodic: at p/q of a turn every qth element is on the same ray, which stacks elements radially and leaves large wedges empty. A greedy rule that always fills the biggest gap is driven away from any such value, and away from anything close to one, because near a rational the pattern is nearly periodic and nearly as bad.

Being driven away from every rational, in proportion to how simple the rational is, is a description of maximal irrationality. The rule does not compute that property; it is pushed to it.

That argument is a sketch and not a proof, and rigorous versions exist for particular interaction laws. What is checkable here is the endpoint: the settled angle across the parameter range, and the arithmetic property measured directly, meeting at a number neither of them was told about.

Two runs of the same rule from unrelated starting angles. Both settle at 136.8°, within 0.7° of the golden angle, from seeds 166° apart.
Fig. 6 Faster again. The output moves with the one knob, which is what makes it an output rather than a constant.

Greedy, local, and no memory of the answer

Three properties of the rule are worth stating together, because between them they close off the ways an angle could be smuggled in.

It is greedy: the next element goes at the current minimum of the repulsion, with no lookahead and no revision. Nothing evaluates whether the resulting arrangement will be good.

It is local in time: the state is the positions of the existing elements, and the rule has no record of the angles it has produced. It cannot be converging on a value it remembers, because it does not remember any.

It is local in space in the sense that matters: the repulsion falls off steeply, so the placement is decided by the nearest few elements rather than by the head as a whole.

A rule with all three properties arriving reliably at a specific irrational number is the surprising part, and it is why the result is worth having rather than being an elaborate restatement of the input.

What the settled angle is settled to

A pedantic but load-bearing point about the reported numbers.

The model settles to 137.00° in the run quoted, not 137.508°. The difference is the boundary sampling — 720 samples around the circle is half a degree of resolution, and the minimum is located to about that.

So the honest statement is that the model settles on a value indistinguishable from the golden angle at this resolution, not that it computes the golden angle. Raising the sample count tightens it, at a cost that a bifurcation sweep cannot afford at every point.

That is worth saying because the alternative — quoting 137.5° from a model whose resolution is 0.5° — would be reporting the expected answer rather than the measured one, which is precisely the failure mode this site keeps finding elsewhere.

Where the rule came from and what replaced it

A short note on lineage, since the rule is presented here as if it were obvious and it was not.

Before 1992 the standard accounts of phyllotaxis were descriptive: lattices, parastichy numbers, transitions between them, all correct and none of it explaining why a particular angle occurs. The competing explanations were teleological — the angle is optimal, therefore selected — which does not survive the packing measurements.

Douady and Couder’s contribution was to propose a rule with no reference to the outcome and show that it produces the outcome anyway. That is a categorically different kind of explanation, and it is the reason this essay is the hinge of the site.

What came after was mechanism: the auxin transport work of the 2000s, which identified what plays the part of the repulsion in a real meristem. The rule survived that — the chemistry filled in the term rather than replacing the model — which is unusual and is a point in its favour.

What is left to explain

The essay closes with a boundary rather than a conclusion, because the account is incomplete in a specific and interesting way.

Settled: a local repulsion rule on a growing boundary converges on a divergence angle; the angle it converges on is the golden angle across most of the parameter range; a physical system with no biology does the same thing; and the value has an arithmetic property that singles it out.

Not settled: why the greedy rule finds the maximally irrational number, rigorously rather than by the sketch above. Proofs exist for particular interaction laws, and a general statement covering the family does not.

Not addressed here at all: the low-growth regime, where the classical Fibonacci ladder lives and this implementation does not converge.

Listing the third item next to the first is the point of the essay’s arrangement. A model that explains the common case, has a boundary, and leaves a stated gap is in better shape than one presented as complete — and the gap is where the next measurement goes.

Two runs of the same rule from unrelated starting angles. Both settle at 137.5°, within 0.0° of the golden angle, from seeds 166° apart.
Fig. 7 At half. Nothing in the rule refers to any particular angle, and nothing has to for the runs to agree.

The other route to the same output

Expansion produced a second construction that singles out this angle, with no dynamics in it at all, and the agreement between the two is worth having here because it changes what the claim rests on.

The lattice tree is a branching structure of cylindrical lattices. At each branch point three spiral families are equally short and the pattern must keep one of two; keeping the larger every time, from the coarsest fork, gives divergences of 128.571°, 142.105°, 135.918°, 138.140°, 137.270° — converging on 137.508°. Making the other choice once, at the first fork, converges on 99.502° instead.

Two angles, twice, from a construction with no time in it, no repulsion, and no settling.

That matters because the two routes have unrelated failure modes. This model’s failures are about resolution and truncation — a sampled boundary, a finite window. The tree’s are about search and dominance — a missed bracket, a spurious root. Neither can produce the other’s answer by accident.

So the claim that these two angles belong to the subject rather than to a model is now supported from two directions, which is more than the bifurcation diagram could give on its own.

Two runs of the same rule from unrelated starting angles. Both settle at 143.0°, within 5.5° of the golden angle, from seeds 166° apart.
Fig. 8 And at the fastest setting drawn here. Six runs across five settings is what says the angle is produced rather than stored.

What links here

Computed from the collection, not written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

AttractorBifurcationBranchConvergenceDivergence angleDouady–CouderFibonacciφ, the golden ratioMeristemMeristem growthRepulsion