I am currently writing a paper in which Fibonacci Spirals are discussed. In the text of the paper the mathematics of these objects is discussed and the relevant equations and relationships are shown however, I feel like nice images would do wonders for the reader to make it really clear what is the subject at hand.

The paper is supposed to go in a chemistry journal and the Fibonacci Spirals discussion is contained inside it, in a subsection that address a very specific problem with the chemistry of coordination compounds.

Even though chemists have some grasp on mathematics, particularly theoretical chemists, they are often not well versed in a wide range of topics, often opting to deepen their understanding of the subset of mathematics that underlines the chemical theory. These Fibonacci Spirals sit squarely outside of this mathematical window of interesting topics so it would go a long way if I could produce interesting imagery to follow the detailed textual explanation.

Dr. Martin Roberts' article on How to evenly distribute points on a sphere more effectively than the canonical Fibonacci Lattice I found some beautiful images that would do wonders to clarify the topic I'm discussing.

In particular, I liked this one:

Flat and Polar Fibonacci Lattices on the top and bottom rows respectively.

Also in Dr. Álvaro González website we can find the link to his paper on Fibonacci Lattices to measure areas on the surface of a sphere in which a number of interesting images are presented. In particular, in his website, we have this thumbnail:

The Points of Fibonacci Lattice on the Surface of Sphere in blue. In red we have one such spiral and in black the points sampled from this particular spiral to assemble the blue lattice.

Which is just amazing.

I loved these two images very much, except for some minor details in the number of points, the presentation choices and the color palette so I would like to re-create them with the adjusted parameters.

Because of their aesthetics I figured that these figures were created either using Matplotlib or Wolfram Language. I am almost 99% certain that WL/Mathematica have more than enough capabilities to create images of this type. But I am such a massive noob with the language that I can't immediately tell myself how to do it.

So my question is: Is it possible to re-create these two images using Wolfram Language / Mathematica? If so, how? Is there a script I can use?


1 Answer 1


For the 2D plots this looks straightforward. I think the author has a minor inconsistency in their definition of the lattice and the plots - there should be a point at zero but they've started at $i=1$ instead:

(* i should go from zero to n-1 according to the definition, but I've started at 1 instead *)
fiblt[n_] := Table[{Mod[N[i/GoldenRatio], 1], i/n}, {i, 1, n}]
tospiral[pts_] := {2 \[Pi]*#[[1]], Sqrt@#[[2]]} & /@ pts

ListPlot[fiblt[50], Ticks -> None, AspectRatio -> 1, 
 PlotStyle -> {PointSize -> .08}]

fib lattice

ListPolarPlot[tospiral@fiblt[200], Ticks -> None, AspectRatio -> 1, 
 PlotStyle -> {PointSize -> .025}]

fib spiral

For the 3D sphere it should be fairly simple to customize this:

spherepts[n_] := Table[
  With[{θ = N[2 Pi i / GoldenRatio], ϕ = N[ArcCos[1 - 2 (i + 1/2)/n]]},
   {Cos[θ] Sin[ϕ], Sin[θ] Sin[ϕ], Cos[ϕ]}
  ], {i, 0, n - 1}]

Graphics3D[{GrayLevel[.05], Specularity[GrayLevel[.85], 3], Sphere[], 
  White, Point[spherepts[1000]]}, Lighting -> "Neutral", 
 Boxed -> False]

fib sphere

Here's the spiral with the points in GoochShading

spiral[n_, t_] := 
 With[{θ = N[2 Pi t/GoldenRatio], ϕ = 
    N[ArcCos[1 - 2 (t + 1/2)/n]]}, {Cos[θ] Sin[ϕ], 
   Sin[θ] Sin[ϕ], Cos[ϕ]}]

With[{n = 25},
  Graphics3D[{GoochShading[], GrayLevel[.95], 
    Specularity[GrayLevel[.85], 3], Sphere[], Black, PointSize[Large],
     Sphere[#, .03] & /@ spherepts[n]}, Lighting -> "Neutral", 
   Boxed -> False]
  , ParametricPlot3D[
   spiral[n, t], {t, -100, 100}, PlotPoints -> 100, PlotStyle -> Gray

sphere points spiral gooch shading

  • $\begingroup$ Would you know how to trace the continuous spiral on the surface of the sphere as well as the points? $\endgroup$
    – urquiza
    Commented Apr 26, 2021 at 12:11
  • 1
    $\begingroup$ @urquiza I added it $\endgroup$
    – flinty
    Commented Apr 26, 2021 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.