Теперь я работаю, чтобы сделать вращательные траектории. Вначале мне нужно определить начальное положение вращающегося объекта. Как сделать 1000 случайных исходных позиций в трех измерениях этого типа объекта Python или NumPy? Я думаю, что функция python может решить проблему.Выполнение случайного начального положения Python
0
A
ответ
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
Спасибо. Оно работает. –
Используйте «случайный» модуль. Если вы хотите получить более подробный ответ, вам придется задать более подробный вопрос. – DeepSpace
Чтобы начать, посмотрите модуль 'numpy.random': http://docs.scipy.org/doc/numpy/reference/routines.random.html Если вы не знаете, как использовать любой из них, взгляните на их докстроны - многие из них включают примеры в докстеллах. Если это не поможет, отредактируйте свой вопрос с дополнительной информацией, включая то, что вы пробовали, и что не работает так, как вы ожидали. Кроме того, вы говорите «позиция», но вы не говорите, сколько измерений. Вы работаете с двумерными или трехмерными позициями? –
Я работаю с 3-мя позициями –