У меня есть этот код, который призван симулировать движение планет. Я хочу инициализировать начальную скорость и берет self.p
из списка при первом проходе, чтобы инициализировать скорость. self.p
имеет вид [5.79e10,0]
и представляет начальное расстояние планет от Солнца вдоль оси инициализации.
self.v=np.array([0,(math.sqrt((6.673e-11)*(1.989e30)/(np.linalg.norm(self.p))))])
print(self.v)
, для которого я ожидаю получить начальный вектор скорости без компонента x и скорости полностью в направлении y. Однако это возвращает:
[5.79e+10 0.00e+00]
[1.08e+11 0.00e+00]
[1.496e+11 0.000e+00]
[2.28e+11 0.00e+00]
, что в точности противоположно тому, как я думал, я создал массив numpy. Может кто-нибудь объяснить мне, почему это происходит, и как я могу избежать этого для дальнейшего использования?