Golden Spiral

[04 Sep 2011]

spiral fern
Fern [image source]

Here’s a recent question from reader Pehr in Sweden:

Hi,
First of all, wonderful site. Love it.
I’ve been studying the polar coordinates section hoping to expand my knowledge on the equiangular spiral. The interactive tools are great, though I’m having a hard time to derivate the exact mathematical solution to why the resulting function for the golden spiral is
r = ae^(b(theta))

For some background on Pehr’s question, see:

Polar Coordinates, Curves in Polar Coordinates and Equi-angular Spiral

Spirals are common in nature and have inspired mathematicians for centuries.

sprial aloe
Aloe spiral [Image source]

Nasa NGC 5194
Spiral galaxy NGC 5194
[Image courtesy NASA]

Logarithmic Spirals

The Golden Spiral that Pehr is asking about is a special case of the logarithmic spiral.

Logarithmic spirals grow such that the angle of a line from the center of the spiral to the tangent to the curve at that point is constant. This is why they are also known as “equi-angular” spirals.

To see what this means, the 3 acute angles marked in the following fern image are approximately 80°

equi-angular spiral fern
Equi-angular fern

We normally use functions in Polar Coordinates when describing spirals. Otherwise, if we use ordinary rectangular coordinates, the formulas become very complex.

The formula for a logarithmic spiral using polar coordinates is:

r = aeθ cot b

where

r is the distance from the origin (or "pole")

a is a constant

θ is the angle (in radians) from the horizontal axis. So the coordinates of a point on the curve in polar coordinates is given by (r, θ).

b is the angle (in radians – the "equal" angle) that the line from the center of the spiral makes with the tangent to the spiral. In the fern case above, b ≈ 1.4 radians (≈ 80°).

As a consequence of the way we defined the logarithmic spiral, the ratio of the distances from the center to each spiral arm of an adjacent pair is constant.

equal span ratios
Spiral arms at a constant ratio

The ratio

distance to the first arm: distance to second arm

= 29:69

≈ 0.42

The other ratio

distance to the second arm: distance to third arm

= 69:154

≈ 0.45

We see the ratios are almost the same. (In an actual logarithmic spiral, they are exactly the same. Choosing the start point for the fern is not an exact science!)

Golden Spiral

The Golden Spiral is a special case of the logarithmic spiral.

We can write the general logarithmic spiral as a function in polar coordinates using t as follows:

r(t) = aet cot b

Note: Normally, we use θ for the independent variable, but we often use t as we can think of the spiral being traced out over time. Besides, it’s easier to type!

The Golden Spiral has the special property such that for every 1/4 turn (90° or π/2 in radians), the distance from the center of the spiral increases by the golden ratio φ = 1.6180.

For this to occur, cot b must take the value (which comes from solving our function):

\large{\cot{b}=\frac{\ln\phi}{\pi/2}=\frac{\log_e1.6180339...}{\pi/2}=0.306349...}

Using this value, and taking the simple case where a = 1, our function becomes:

r(t) = e0.30635t

We’ll use the excellent free graphing tool GeoGebra from here on.

Setting up the Golden Spiral using GeoGebra

Now if we graph our function on ordinary rectangular coordinate axes in GeoGebra, we get the following exponential curve. Note that r increases at an ever-increasing rate (it gets steeper) as t increases.

exponential graph

But to see a spiral, we need to graph the curve using polar coordinates.

To convert the polar form (which we’ve got) to rectangular form (which we need for the graph) in Geogebra, we need to set up and graph the following function:

a(t) = (r(t) cos(t), r(t) sin(t))

Let’s substitute a few important values to see what this expression means. Starting at t = 0, we get the starting point of the curve:

a(0) = (r(0) cos(0), r(0) sin(0))

= (1×1, 0×0)

= (1, 0)

So it means we start 1 unit from the origin along the positive x-axis. You can see the starting point in the following graph of the spiral.

spiral graph

Next, we rotate a quarter turn and find at t = π/2,

a(π/2) = (r(π/2) cos(π/2), r(π/2) sin(π/2))

= (1.618×0, 1.618×1)

= (0, 1.618)

Note that we are now 1.618 units from the origin up the y-axis. That is, φ = 1.6180 times the distance we started from.

Another rotation of a quarter turn brings us to t = π, where:

a(π) = (r(π) cos(π), r(π) sin(π))

= (-2.618×1, -2.618×0)

= (-2.618, 0)

We are now 2.618 units away from the origin along the negative x-axis, or φ = 1.6180 times the distance from the origin we were at the last quarter turn.

Note:

φ2 = 2.6180

We could work out our next position, along the negative y-axis, by just multiplying this last value by φ = 1.6180, giving us:

φ3 = 4.23606…

So the spiral will cut the y-axis at (0, -4.236).

One more quarter turn will bring us to φ4 = 6.85410… units along the positive y-axis, that is (6.854, 0).

We can see these values are correct on our spiral graph above.

If we keep going, we’ll get a spiral as follows (this is 2 complete revolutions, or 4π = 720°):

spiral graph

As an aside, since in this problem

cot b = 0.30635

then

b = arccot 0.30635 = 1.274 radians or around 73°

This is the angle our spiral arms make with a line from the center of the spiral. You can see on the graph above each spiral arm makes an angle of 73° with the x-axis (and y-axis, or any line from the center).


Approximating the Golden Spiral using arcs of a circle

We can obtain a spiral that looks quite similar to the Golden Spiral by using arcs of circles that increase in size by the Golden Ratio, as follows.

We start with a 1×1 square and draw an arc, center C, through 2 corners such that the sides of the square are tangent to the arc (that is, they touch once only).

spiral 1x1 square

Next, we place a square with side length φ = 1.6180 above our first square and construct another circular arc, center E, as before:

spiral arc 1.618

Our next square goes on the left and has sides φ2 = 2.6180 = 1 + φ.

spiral arc 2.618

We continue the pattern (we’ve gone another complete round) and get a spiral which looks quite a lot like our Golden Spiral from before.

spiral large

How close is our approximation?

Wikipedia’s article on Golden Spiral has an image which claims the above spiral and the Golden Spiral are very close in shape.

Here’s that image:

Wikipedia's image

The caption for the image states:

Approximate and true golden spirals: the green spiral is made from quarter-circles tangent to the interior of each square, while the red spiral is a golden spiral, a special type of logarithmic spiral. Overlapping portions appear yellow. The length of the side of a larger square to the next smaller square is in the golden ratio.

Can we re-create this ?

In the image below, the red curve is first part of the Golden Spiral we constructed above, whereas the green curve is based on the quarter-turn approximation we were just working on.

real spiral

The point F is the "right most" point on the spiral, which will be my starting point for the quarter-turn arc. The point J is the highest point of this portion of the spiral.

Point A is the intersection of the horizontal and vertical lines passing through F and J respectively and this will be the center of my arc.

Now, the arc GF is not at all close to the related portion of the spiral FJ.

Let’s do another step and see if the next part is any better.

real spiral 2

As you can see, it’s worse (as expected, since we have moved further away from the origin and the spiral arm is getting bigger).

Clearly, this is never going to work.

However, in my earlier Golden Spiral I was using:

r(t) = e0.30635t

The constant a, had value 1.

If we want our approximating arcs to be a good fit for the actual Golden Spiral, we need to use a value of (probably not surprisingly)

a = φ = 1.618103399..

This gives us the following curves, similar to the graph in Wikipedia.

The red curve is the Golden Spiral,

r(t) = 1.618013 e0.30635t

The green curve is the collection of circular arcs.

real spiral

The side length of the squares are shown and we can see they are approximately in the ratio 1.618013…

Golden Spiral in the media

From Wolfram’s Mathworld:

In the Season 4 episode "Masterpiece" (2008) of the CBS-TV crime drama "Criminal Minds," the agents of the FBI Behavioral Analysis Unit are confronted by a serial killer who uses the Fibonacci number sequence to determine the number of victims for each of his killing episodes. In this episode, character Dr. Reid also notices that locations of the killings lie on the graph of a golden spiral, and going to the center of the spiral allows Reid to determine the location of the killer’s base of operations.

Here’s more interesting information from Wolfram’s Mathworld:

Logarithmic Spiral

For the geeks – design using Golden Spiral

It is believed by many that designs using the Golden Ratio and Golden Spiral are pleasing to the eye.

Even Twitter recently re-designed their main page using the Golden Spiral.

Here is a great article by a guy who has contructed a golden spiral without images. (Mostly for those interested in Web design)

Golden Spiral without images – using CSS and jQuery

As he suggests in the article, an elephant’s trunk is also close to the Golden Spiral.

elephant trunk Golden Spiral
Elephant trunk – almost a Golden Spiral

Conclusion

The Golden Spiral is an interesting topic – one worth pursuing not only for the pleasant designs involved, but also the interesting math behind them.

I hope that helps to answer your question, Pehr!

Share this page

3 Comments on “Golden Spiral”

  1. Fibonacci joke « Random Walks says:

    [...] Golden Spiral (squareCircleZ) [...]

  2. Dave says:

    How would one construct an accurate 3D golden spiral like you find in a pine cone?

  3. Murray says:

    Hi Dave. Interesting question! This PDF may give you some starting points: The Natural 3D Spiral.

    If not, this search may help.

Leave a comment


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>