如果在球坐标系的\theta和\phi下均匀分布产生点,点会集中在球的两极,所以应该将\theta映射到arccos(theta)上产生均匀分布的点:
def generate_point(): phi = random.uniform(0, 2*pi) theta = np.arccos(random.uniform(-1, 1)) return(theta, phi)
数学过程参见Sphere Point Picking -- from Wolfram MathWorld