假设我有10个粒子,每个粒子有三个协调点。我想把它们随机放置,这样两个粒子之间的距离总是大于某个值(比如说1)。知道怎么做吗。
发布于 2017-04-16 16:36:13
因为你没有提到粒子被限制在某个体积,也就是说,它们可以在R^3中的任何地方,所以你只需要引入随机数
n = 10
pos = np.random.random(3*n).reshape(n,3)然后计算所有成对距离,请参阅this question关于如何有效地做到这一点,然后用最小距离对整个数组pos进行除法(如果您使用的值1是任何两个粒子都不应该小于的距离)。
https://stackoverflow.com/questions/43389820
复制相似问题