Deborah R. Fowler

Phyllotactic Pattern

Updated June 22 2013 Updated Wrangles/Lsystems 2016 Updated Vops 2019 Updated OpenSCAD and blocksSCAD 2020 Updated new videos 2021-2022 Updated note about wrangle precision 2025 Updated March 19 2026 - restyled
ABOP Cover

Phyllotactic Patterns are a good start to using math for fun. There are a number of sites describing this pattern, including The Algorithmic Beauty of Plants, specifically Chapter 4 where I originally implemented this formula.

Below is a brief description. I have implemented this pattern in many ways in Houdini, C++/OpenGL, Python, Scratch, CAD software, etc - (it is my "Hello World" for graphics) - as well as in the 90's with GL/C on Silicon Graphics Workstations (for those of you who remember what those are).


Mathematical Foundation


Reduced to optimal packing on a disc, these equations stem from H Vogel 1979 in Mathematical Biosciences.

Polar to Cartesian Coordinates
Polar Coordinates 0 Polar Coordinates 1

Now we have adj, which is our x-coordinate and opp, which is our y-coordinate, thus we have (x, y). Phyllotaxis formula 1 Suppose now that r and θ are allowed to vary, we substitute the following formulas:

Phyllotaxis formula 2 Where do these equations come from? Well from a paper by H Vogel 1979 in Mathematical Biosciences. However, what this has done is reduced the problem to optimal packing on a disc. Phyllotaxis formula 3 When we substitute these equations in for r and θ it results in the phyllotactic pattern.

Implementation Resources

So now you have the formulas, now what?


You can use just about any graphics interface/programming language as a playground. In class (VSFX350/721), you will be implementing this in Houdini. Additional Notes.

If you would like to see an implentation in:

Note about wrangle precision - if you use 137.5 you will see with larger numbers (thousands) the pattern breaks down so an approximation of 137.508 is better. If you push it further (say 90,000) you will need to increase the accuracy. In a wrangle node the pattern appears to break down even at 137.507764 - but you can increase the accuracy by diving into the bindings tab and clicking on precision 64 bit

Precision Settings

Additional Examples


Check out the Zoetrope Phyllotactic Pattern for more details.

Additional VEX Phyllotaxis Fun

↑ Back to top