# How to plot N points on the surface of a D-dimensional sphere roughly equidistant apart?

Let's say I have a D-dimensional sphere with a radius R. I want to plot N number of points evenly distributed (equidistant apart from each other) on the surface of the sphere. It doesn't matter where those points are exactly, just that they are ROUGHLY equidistant from each other. How would I do this?

-
Not sure whether it meets any of your hidden requirements (like speed), but this maybe be useful. – Sasha Oct 3 '12 at 5:49
For the last method on that page, how would I generate Gaussian random variables so that the radius of the sphere is always the same for each generated point? – user644337 Oct 3 '12 at 6:10
Generate vector $\{Z_1,Z_2,\ldots, Z_{d+1}\}$ then divide each of its components by the Euclidean length of that vector and multiply by $R$. This rescales the vector to have length $R$. – Sasha Oct 3 '12 at 11:50
I guess N coordinates must be generated with any Gaussian random and after that resulting vector have to be normalized and multiplied on the R. – KvanTTT Oct 3 '12 at 11:52
To have N points drawn uniformly on a region is quite different to have N points approximately equidistant on that region – leonbloy Oct 3 '12 at 13:59

## 1 Answer

If $N \le D + 1$ all points must be located on $N-1$ dimension equilateral triangle.

UPDATE

So, I thought today at this problem and invented method, contains following steps:

1. Generating $N$ random points on sphere $R$ (that is generating points with coordinates with Gaussian distribution).
2. Building Convex Hull (or triangulation on hypersphere even better) with generated on first step points. This step can be solved with MIConvexHull library if you familar with C#, similar library on your favorite language or your own code.
3. Using Genetic algorithm, Simulated annealing or another method of global optimization. This method then have to be applied to variance value of all edge lengths from convex hull from step 2.
-
What is an example of a 4D sphere with one equilateral triangle? How can it be generalised to NDimensional Sphere and triangle? – Arjang Oct 3 '12 at 5:22
You mean if N = D, right? The simplex (en.wikipedia.org/wiki/Simplex) will solve the problem if N = D, but I need a solution for any N and any D. – user644337 Oct 3 '12 at 5:46
No, I mean $N \le D + 1$, that is all simplexes with such dimensions. For example, for 3D sphere segment there are segment (2 vertices), triangle (3 vertices) and tetrahedron (4 vertices). But you are right: this method not suitable for $N > D + 1$ case. – KvanTTT Oct 3 '12 at 7:24