通过 Python 制作随机初始位置

Making random initial position by Python

我现在正在制作旋转轨迹。一开始我需要定义一个旋转物体的初始位置。如何通过 Python 或 NumPy 在这种对象的三个维度上制作 1000 个随机初始位置?我认为python函数可以解决问题。

如果我理解这个问题,你需要拾取均匀分布在球体上的点。有关详细信息,请参阅 here

import math
import numpy as np

cos_theta = 2.0 * np.random.random(100) - 1.0
phi       = 2.0 * math.pi * np.random.random(100)

sin_theta = np.sqrt( (1.0 - cos_theta)*(1.0 + cos_theta) )

x = sin_theta * np.cos(phi)
y = sin_theta * np.sin(phi)
z = cos_theta

print(x, y, z)
print("---------------------")
print(np.square(x) + np.square(y) + np.square(z))