The Pizzaiolo’s Puzzle

PIZZAA pizzaiolo (a man who makes pizza) has been asked to produce a very large pizza, to sprinkle some Parmesan cheese evenly on the pizza and to spread a full jar of black olives (approximately 80 olives) on the pizza.

He has decided to find a method to evenly spread the olives on the pizza to ensure that:

  • the olives cover the entire pizza,
  • the olives are relatively equidistant from each others,

Fermat’s Spiral & Vogel’s Model

After doing some research online, our pizzaiolo came across the following webpage about Fermat’s Spiral, and was captivated to find out about how the Vogel’s model could be used to calculate the polar coordinates of each olive to be added to his pizza:

Vogel's Model

  • Where θ is the angle,
  • r is the radius or distance from the centre,
  • n is the index number of the olive,
  • c is a constant scaling factor,
  • The angle 137.508° is the golden angle which is approximated by ratios of Fibonacci numbers.

Python Code

The following Python Turtle demonstrates how Vogel’s model can be used to solve our pizzaiolo’s puzzle:

Your Task

Update the code above to add extra ingredients to your pizza (e.g. pepperoni slices). Try different values instead of the golden angle to see the impact on the resulting pattern.


The solution for this challenge is available to full members!
Find out how to become a member:
➤ Members Area