如何生成n个点并限制它们之间的距离大于给定值?

How to generate n points and restrict the distance between them to be greater than a given value?

我想以均匀分布随机生成 n 个点,使得任意点之间的距离大于某个固定值。

这是我在 MATLAB 中的场景:

如何操作?

虽然在 math.stackexchange 上讨论了这种采样(相当于非重叠圆圈生成),请参阅 https://mathematica.stackexchange.com/questions/2594/efficient-way-to-generate-random-points-with-a-predefined-lower-bound-on-their-p and https://mathematica.stackexchange.com/questions/69649/generate-nonoverlapping-random-circles, I would like to point out to another potential solution which involves quasi-random numbers. For quasi-random Sobol sequences there is a statement which says that there is minimum positive distance between points which amounts to 0.5*sqrt(d)/N, where d is dimension of the problem, and N is number of points sampled in hypercube. Paper from the man himself http://www.sciencedirect.com/science/article/pii/S0378475406002382