假设我有10个粒子,每个粒子有三个坐标。我想随机放置它们,使得两个粒子之间的距离总是大于某个值(比如1)。 不知道怎么做。
答案 0 :(得分:0)
由于你没有提到粒子被限制在某个体积中,即它们可以在R ^ 3中的任何位置,你可以随便引入随机数
n = 10
pos = np.random.random(3*n).reshape(n,3)
然后计算所有成对距离,请参阅this question有关如何有效地执行此操作,然后将整个数组pos
除以最小距离(如果您使用值1
是没有两个粒子应该少于的距离。