2016-08-10 5 views
0

私は今、回転軌道を作るために取り組んでいます。最初は、回転するオブジェクトの初期位置を定義する必要があります。この種のオブジェクトの3次元で1000のランダムな初期位置をPythonやNumPyで作る方法は?私はPython関数が問題を解決できると思います。Pythonでランダムな初期位置をつくる

+4

'random'モジュールを使用してください。より詳細な回答が必要な場合は、より詳細な質問をする必要があります。 – DeepSpace

+0

始めに、 'numpy.random'モジュールを見てみましょう:http://docs.scipy.org/doc/numpy/reference/routines.random.htmlそれらのどれを使うか分からない場合は、彼らのドキュメントストリングを見てください。多くのドキュメントストリングにはサンプルが含まれています。それでも問題が解決しない場合は、試したことや期待したとおりにうまくいかなかったことなど、より多くの情報で質問を編集してください。また、あなたは「位置」と言っていますが、次元数は言いません。あなたは2-Dまたは3-Dポジションで働いていますか? –

+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

ありがとうございました。できます。 –

関連する問題