generate N points equally distanced in N-1 dimensions (simplex vertices coordinates))

2 points equally distanced in 1D space: (1)(-1)                             line
3 points equally distanced in 2D space: (0,2)(1.732,-1)(-1.732,-1)          equilateral triangle
4 points equally distanced in 3D space: (1,1,1)(1,−1,−1)(−1,1,−1)(−1,−1,1)  tetrahedron
5 points equally distanced in 4D space: ?
N points equally distanced in (N-1)D space: ?


would like generate those points for any N >= 2
a method would be to start at 2D having 2 points defined (0,0)(1,0) now find the 3rd point
then for 3D use the previous 3 points and find the 4th point
then for 4D use the previous 4 points and find the 5th point
and so on ... but this looks slow

• In 2d, have your first two points at $(1,0),(0,1)$ and the third at $(x,x)$. You just have to find $x$ Commented Jan 20, 2023 at 13:23
• mathoverflow.net/a/38725 Commented Jan 20, 2023 at 13:36
• @Answer Provider Indeed there is a wealth of references there. Commented Jan 20, 2023 at 18:13

You can construct it recursively. Start with 2 points in 1 dimension as you did: $$P_2 = \{-1,1\}$$. The distance of the points is 2, the center of the object is in $$0$$, and the distance of each vertex from the center is $$d_2=1$$.

Say you have $$n\geq 2$$ points $$P_n \in \Bbb R^{n-1}$$ with distance $$2$$ from each other, centered about 0 (due to symmetry the center is identical to the orthocenter), and each point being $$d_n$$ away from the center. To be able to add the $$(n+1)$$th point into the next dimension, you need to determine the height $$h_{n+1}$$ of it above the hyperplane containing $$P_n$$. By Pythagoras theorem the square of distance of the new point from the other points will be equal to $$d_n^2+d_{n+1}^2$$, and we want this to be equal to $$4$$. Thus: $$h_{n+1} = \sqrt{4-d_n^2}. \tag{1} \label{h}$$ Now you are ready add the $$(n+1)$$th point at $$(0,\ldots,0,h_{n+1})$$, so the set of the $$n+1$$ points in $$\Bbb R^n$$ is $$P_{n+1}' = \big\{(x_1,\ldots,x_{n-1},0)\in \Bbb R^n, (x_1,\ldots,x_{n-1}) \in P_n\big\}\; \cup \; \big\{(0,\ldots,0,h_{n+1})\big\}.$$

Last, you need to lower (translate) this set so that it is again centered about the origin. By how much? Well, you can find the center of the points simply by taking the average of the points (coordinate-wise arithmetic average). Since all the point have the last coordinate equal zero except for the last one, for which it equals to $$h_{n+1}$$, the hight of the center is $$\frac{1}{n+1}h_{n+1}$$. After translating the points so that their center is at the origin we get the following points: $$P_{n+1} = \left\{\left(x_1,\ldots,x_{n-1},-\tfrac{1}{n+1}h_{n+1}\right), (x_1,\ldots,x_{n-1}) \in P_n \right\}\; \cup \; \left\{\left(0,\ldots,0,\tfrac{n}{n+1}h_{n+1}\right)\right\}. \tag{2} \label{P}$$ Notice that then $$d_{n+1} = \tfrac{n}{n+1}h_{n+1}.\tag{3} \label{d}$$

To program this, you only need to use the equations \eqref{h}-\eqref{d} recursively.

• Please, see the reference given by Answer Provider. Commented Jan 20, 2023 at 18:13
• @JeanMarie Thanks a lot for pointing that out, I simplified the answer based on your comment. Perhaps the recursion could be simplified even further. Commented Jan 21, 2023 at 15:57

I'm not $$100\%$$ sure that the following is different from every one of the answers on MathOverflow, but this is the construction given in Convex Polytopes by H.S.M. Coxeter, section 13.4, page 245 in the Dover edition.

Let $$A_k = (x_1, x_2, \ldots, x_n)$$ where \begin{align} x_{2r-1} &= \cos\frac{2rk\pi}{n+1}, & x_{2r} &= \sin\frac{2rk\pi}{n+1} & \left(r = 1, 2, \ldots, \left\lfloor \tfrac12 n \right\rfloor\right) \end{align} and if $$n$$ is odd, $$x_n = \frac{(-1)^k}{\sqrt2}.$$ Then $$A_0, A_1, \ldots, A_n$$ are the vertices of a regular simplex of edge length $$\sqrt{n+1}.$$

Note that if we zero out all but the first two coordinates, we get a regular $$(n+1)$$-gon in the plane of the first two coordinates, which is the convex hull of the orthogonal projection of the simplex onto that plane.