Distributing N points on a sphere

February 25, 2013 at 22:55

In one of my PhD projects, I had the need to distribute n points on a sphere of radius r. I found a very interesting post in stackoverflow about how to solve the problem and I tested a few of the solutions they proposed by myself. In my opinion, one of the most elegant solutions consists in using a spiral function to distribute the points uniformly. Below you can find a little snippet in Python which uses the spiral method to calculate a list of n points (thanks to my colleague Iain for sharing his source code with me):

This function is based on the original work “Minimal Discrete Energy on the Sphere” which you can find online here.

An this is how a sphere of radius 10 with 300 points looks.

Points on a sphere using the spiral method

Points on a sphere using the spiral method