Create an N-Dimensional Simplex (Tetrahedron) The Simplest N-Dimensional shape one can create for any dimension is a Simplex, and this is a set of N+1 points that are all equal distance away from eachother.

For 2 dimensions, this is an equilateral triangle, for 3 dimensions, this is an regular tetrahedron, at 4 dimensions is the 5-Cell and so on.

The Challenge

Given an Integer dimension N as input, output an Array/List/Stack/Whatever of N Dimensional points that represent a Simplex of this dimension. That is, N+1 vertexes that are equal and non-zero distance from eachother.

Reference implementation in Lua

Examples

1 -&gt; [[0], [1]]
2 -&gt; [[0, 0], [1, 0], [0.5, 0.866...]]
4 -&gt; [[0, 0, 0, 0], [1, 0, 0, 0], [0.5, 0.866..., 0, 0], [0.5, 0.288..., 0.816..., 0], [0.5, 0.288..., 0.204..., 0.790...]]


Notes


Input is a number in any standard format, and will always be an integer greater than 1 and less than 10
Hardcoding is allowed for input of 1, but nothing higher.
Reasonable error is allowed in the output. Issues with floating point arithmetic or trig may be ignored.
Any transformation of the N dimensional simplex is allowed, aslong as it remains Regular and Non-zero.
Standard Loopholes are forbidden.
This is code-golf, so fewest bytes wins.
Python 78 66 Bytes
lambda n:[i*[0]+[n]+(n+~i)*[0]for i in range(n)]+[n*[1+(n+1)**.5]]

Surely can be improved, especially at handling n=1```. (How is that even a simplex?) Just realized that's not necessary. Can probably be improved still ^^
Try it online!
[i*[0]+[1]+(n+~i)*[0]for i in range(n)] creates identity matrix. All points have distance sqrt(2) from each other. (thanks to Rod for improving)
Now we need a n+1-th point with the same distance to all other points. We have to choose (x, x, ... x).
Distance from (1, 0, ...  ) to (x, x, ... x) is sqrt((x-1)²+x²+...+x²). If we want an n dimensional simplex this turns out to be sqrt((x-1)²+(n-1)x²), as we have one 1 and n-1 0s in the first point. Simplify a bit: sqrt(x²-2x+1+(n-1)x²) = sqrt(nx²-2x+1)
We want this distance to be sqrt(2).
sqrt(2) = sqrt(nx²-2x+1)
2 = nx²-2x+1
0 = nx²-2x-1
0 = x²-2/n*x+1/n
Solving this quadratic equation (one solution, other one works fine, too):
x = 1/n+sqrt(1/n²+1/n) = 1/n+sqrt((n+1)/n²) = 1/n+sqrt(n+1)/n = (1+sqrt(n+1))/n
Put that in a list n times, put that list in a list and join with identity matrix.

-4 Bytes thanks to Alex Varga:
Multiply each vector by n. This changes the creation of the identity matrix to lambda n:[i*[0]+[n]+(n+~i)*[0] (same length) and gets rid of the division by n in the additional point, so it becomes n*[1+(n+1)**.5], saving two brackets and the /n.