2016-08-10 48 views
0

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

+4

使用'random'模块。如果你想要更详细的答案,你将不得不问一个更详细的问题。 – DeepSpace

+0

要开始,请查看'numpy.random'模块:http://docs.scipy.org/doc/numpy/reference/routines.random.html如果您不确定如何使用这些模块,看看他们的文档 - 许多文档中都包含示例。如果这没有帮助,请使用更多信息编辑您的问题,包括您尝试过的以及未按预期工作的信息。另外,你说“职位”,但你没有说多少维度。你在使用2D还是3D? –

+0

我正在使用3-D职位 –

回答

0

如果我明白了这个问题,你需要拿起均匀分布在球体上的点。详情请参阅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)) 
+0

谢谢。有用。 –