Uniform distribution of points on a sphere
- Transfer

Some time ago this post appeared on the Hacker News homepage. Its discussion can be read here .
Introduction
The problem of uniform distribution of points on a sphere has a very long history. This is one of the most well-studied problems in the mathematical literature on spherical geometry. It is of critical importance in many areas of mathematics, physics, chemistry, including computational methods, approximation theory, coding theory, crystallography, electrostatics, computer graphics, virus morphology and many others.
Unfortunately, with the exception of a few special cases (namely, Platonic solids), it is impossible to perfectly distribute points on a sphere. In addition, the solution of the problem strongly depends on the criterion that is used to assess uniformity. In practice, many criteria are used , including:
- Packaging and coating
- Convex hulls, Voronoi cells and Delaunay triangles
- Kernels
Rice Energy
- Cubature and qualifiers
It is very important to clarify this aspect: usually there is no single optimal solution to this problem, because an optimal solution based on one criterion is often not an optimal distribution of points for others. For example, we will also find out that packaging optimization does not necessarily create an optimal convex hull and vice versa.
For the sake of brevity, in this post we will consider only two criteria: the minimum packing distance and the convex hull / Delaunay mesh (volume and area).
In section 1, we show how you can change the canonical Fibonacci grid to build an improved distribution of packaging . In Section 2, we show how you can change the canonical Fibonacci grid to build improved parameters for convex hulls. (volume and surface area).
Section 1. Optimization of packaging distance
Often this problem is called the Tamm's task in honor of the botanist Tems, who sought an explanation of the surface structure of pollen grains. The packing criterion requires us to maximize the smallest distance between neighbors for
This value decreases with speed.
Fibonacci grid
One very elegant solution models the nodes found in nature, for example, the distribution of seeds in a sunflower or pine cone. This phenomenon is called spiral phyllotaxis . Coxeter showed that such structures have a fundamental connection with the Fibonacci series,
In the literature, two similar definitions of the set of points of a spherical Fibonacci grid are found. The source is defined strictly for
The second definition generalizes the formula to an arbitrary amount
Where
Below is an example of the same Fibonacci grids. By transformation, you can turn these sets of points into Fibonacci spirals that are well known to us.

Similarly, these sets of points can be transferred from the unit square
Many different versions of Python code for it can be found on stackoverflow: Evenly distributing points on a sphere .
Even despite the fact that spherical Fibonacci sets are globally not the best distribution of samples on a sphere (because their solutions do not coincide with the solutions for Platonic solids for
Since the transfer from the unit square to the surface of the sphere is carried out by a projection with conservation of area, it can be expected that if the starting points are distributed evenly, they will also be fairly well distributed on the surface of the sphere. However, this does not mean that the distribution will be provably optimal.
This transfer suffers from two different but interrelated problems.
Firstly, this overlay is performed while maintaining the area, not the distance. Given that in our case, the condition is to maximize the minimum pairwise distance between points, such conditions and relationships will not necessarily be satisfied after projection.
The second problem is most difficult to solve from a practical point of view: the superposition has two degenerate points at each pole. Consider two points that are very close to the pole, but differing by 180 degrees in longitude. On a single square (and on a cylindrical projection) they will correspond to two points very distant from each other, but when superimposed on the surface of a sphere they can be connected by a very small arc passing through the north pole. Because of this particular problem, many spiral overlays are not optimal enough.
The Fibonacci Spherical Helix obtained from Equation 1 gives the value
Grid 1
A more common version (especially on computer systems) that creates a better value
It places the points at the midpoints of the intervals (according to the midpoint rule in the Gauss quadratic formula), therefore, for
Grid 2.
The key to further improving Equation 2 is the realization that
If we define the following distribution:
That is, with

Figure 1. Different values
Grid 3.
As mentioned above, one of the most serious problems of uniform distribution of points on a sphere is that the distribution optimality critically depends on the objective function used. It turns out. that local quantities like
In our case, regardless of the magnitude
It is almost identical to grid 2, but has two differences. First, she uses
I.e:
An amazing property of this construction method is that despite the fact that its creation was motivated by a desire to minimize voids at the poles, it actually has the best value among all methods
That is, with

Figure 2. Various grid configurations. The canonical Fibonacci grid on the left. Note that even though the middle grid
Comparison
At large values
Icosahedron-based geodesic domes at various values
Dodecahedron-based geodesic domes for various values
In addition, a truncated icosahedron corresponding to the shape of fullerene
That is, with
According to the data from the first source in the list of references below, some of the modern methods, which are usually complex and require recursive and / or dynamic programming, have the following indicators.
Conclusion from Section 1
Grid 3, created by Equation 3, is a modification of the canonical Fibonacci grid, which provides much better packaging for the distribution of points. I.e
Section 2. Optimization of the convex hull (Delaunay mesh)
In the previous section, we optimized the distribution by
We denote
normalization factor included
Behavior
To reduce the mismatch of volumes, it should be noted that despite the use of
Let's summarize equation 1 as follows:
where we define
Where
Where
Figure 3 shows how much volume mismatch is optimized for half of the values.
The reason for this is a little-known fact: all numbers
Therefore, the reason that

Figure 3. The mismatch between the volume of the convex hull of points and the volume of the unit sphere. Keep in mind that the smaller it is, the better. The figure shows that the hybrid model (orange line) based on
For the remaining half, we first define an auxiliary series
I.e
All fractions of this series have elegant continuous fractions, and in the limit converge to
Now we can fully generalize
The table below shows the values
Figure 4 shows that with respect to the volume of the convex hull, this new distribution is better than the canonical grid for all values

Figure 4. The mismatch between the volume of the convex hull and the volume of the unit sphere. The lower the value, the better. This tells us that the proposed new method (green line) constantly provides a better distribution than the canonical Fibonacci grid (blue line).

Figure 5. Visual comparison of the canonical mesh (left) with the new modified mesh (right) with n = 35 and n = 150. Visually, the differences are almost imperceptible. However, in conditions requiring maximum efficiency, the modified version (on the right) provides a small, but quantifiable improvement in both volume and surface area of the convex hull.
Curiously, this distribution is also insignificant, but steadily reduces the mismatch between the surface area of the convex hull and the surface area of a single sphere. This is shown in Figure 6.

Рисунок 5. Нормализованное рассогласование площадей между площадью поверхности выпуклой оболочки (сетки Делоне) и площадью поверхности единичной сферы. Чем ниже значения, тем лучше. Это показывает, что предложенная новая модификация (зелёные точки) демонстрирует небольшое, но постоянное снижение разности площадей поверхностей по сравнению с канонической сеткой Фибоначчи (синие точки)
Вывод из раздела 2
Сетка, соответствующая уравнению 6, является модификацией канонической сетки Фибоначчи, создающей значительно лучшее распределение точек, исходя из объёма и площади поверхности выпуклой оболочки (сетки Делоне).
Источники
- A Comparison of popular point confugrations on S^2“:
- web.archive.org/web/20120421191837
- www.cgafaq.info/wiki/Evenly_distributed_points_on_sphere
- perswww.kuleuven.be/~u0017946/publications/Papers97/art97a-Saff-Kuijlaars-MI/Saff-Kuijlaars-MathIntel97.pdf
- projecteuclid.org/download/pdf_1/euclid.em/1067634731
- maths-people.anu.edu.au/~leopardi/Leopardi-Sphere-PhD-Thesis.pdf
- www.irit.fr/~David.Vanderhaeghe/M2IGAI-CO/2016-g1/docs/spherical_fibonacci_mapping.pdf
- arxiv.org/pdf/1407.8282.pdf
- maths-people.anu.edu.au/~leopardi/Macquarie-sphere-talk.pdf