I would like to randomly generate a set of n-dimensional points such that each point is far from all other points by a distance of $d$. In other words, I would like to have a set $S$ of n-dim points such that for each point $r \in S$, $euclidean(r,r_i) \geq d$ where $r_i \in S-r$.
One simple approach that comes to mind is:
- Start with a random point $r_1$
- Add $r_1$ to $S$
- Generate another random point $r_2$
- For $r_i \in S$ check if $euclidean(r_1,r_i) \geq d$, if true, then add $r_2$ to S.
- Repeat steps 3 to 4 until $S$ has $k$ members.
However, this is not an optimal solution and each time a random number is generated I have to compare it with all members of $S$ which is expensive. I was wondering if there is a more optimal solution to this?
Thanks!