Рассчитать RA DEC / AZ EL точек Лагранжа, видимых с места на земле

1

Я хотел бы рассчитать положение пяти точек Лагранжа в небе (L1 - L5) как RA/DEC или AZ/EL, когда они снабжены меткой времени UTC и местоположением наблюдателя Lat/Lon/Alt на земле. Я смотрел на pyephem, pyorbital и skyfield, но, насколько я мог видеть, они не поддерживают это. Если кто-то может указать мне на ссылку/код, чтобы вычислить это в python, что было бы очень оценено.

PS Если еще не часть pyephem/skyfield/pyorbital, я думаю, что это была бы интересная возможность добавить?

Теги:
astronomy
pyephem
skyfield
orbital-mechanics

1 ответ

1

Если вы можете преобразовать произвольные (геоцентрические или гелиоцентрические) позиционные векторы в RA/DEC, решение будет простым, так как вы можете легко вычислить векторы положения точек Лагранжа.

Если у вас есть геоцентрический вектор положения Солнца, Rsun, вы можете сделать следующее:

Поскольку L1, L2 и L3 находятся на линии Солнце-Земля, они представляют собой просто Rsun версии Rsun; это приближения, которые работают, потому что масса Солнца намного больше массы Земли, точные формулы сложнее:

L1 = Rsun * (m/(3*M))**(1/3)

L2 = -Rsun * (m/(3*M))**(1/3)

L3 = Rsun * (2 + (5*m/(12*M))

где массовые единицы не имеют значения, поэтому мы можем использовать массу Земли в качестве единицы, так что m == 1 - масса Земли, а M == 333000 - масса Солнца.

Точками L4 и L5 являются углы равносторонних треугольников с Солнцем и Землей. Поэтому вы можете получить их, вращая Rsun на 60 ° и -60 ° вокруг нормали орбитальной плоскости (обычно ось z в эклиптической системе координат). Это легко, псевдокод:

# Get the three components of the original vector
x,y,z = Rsun 

# Compute the rotated vector
L4 = [
  x * cos(60°) - y * sin(60°),
  x * sin(60°) + y * cos(60°),
  z 
]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню