I'm not a big geometry buff, but I was wondering if you're give a dimension $D$ and a number of points $N$ and a radius $R$ of a sphere in that dimension. How would you generate $N$ points on the edge or in the sphere such that their magnitude and cosine similarity between each point is as far as possible? The dimensional space could be something as large as 512.
The ultimate goal is to achieve something like: Assume we're placing planets in a galaxy that is spherical, but we have no idea how big each planet is, so we want to place all the origins of each planet as far as possible from each other in order to avoid overlapping even if the planets are very large.
One way to pick a random point on a $d$-dimensional hypersphere ${\cal S}$ is to generate $n$ Gaussian random variables $x_1, x_2, ..., x_n$ and then the distribution of the vectors
$$ \frac{1}{\sqrt{x_1^2 + x_2^2 + \cdots + x_n^2}} \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}$$
is uniform over the surface ${\cal S}^{d-1}$, as desribed in
Muller, M. E. "A Note on a Method for Generating Points Uniformly on N-Dimensional Spheres." Comm. Assoc. Computing Machinery 2, 19-20 (Apr. 1959)