Я делаю программу для предсказания прохождения спутников. Я пытаюсь выяснить, освещен ли спутник Солнцем, а не находится ли он в тени Земли. Мне нужно знать его фазовый угол: угол между наблюдателем на Земле, спутником и Солнцем.
Если можно, объясните простыми словами.
(Вставлено рецензентом, расширение вопроса, первоначально опубликованное как ответ)
У меня есть данные TLE для спутника (содержит прямое восхождение). Отсюда я получил положение ECI, азимут, угол места, высоту. Для наблюдателя у меня есть широта и долгота, а для солнца: высота и азимут.
Нарисуйте треугольник Солнце-Земля-Спутник, сначала найдем угол Солнце-Земля-Сат.
Угол между Солнцем, наблюдателем и спутником будет угловым расстоянием между Солнцем и спутником на сфере наблюдателя. Вот как это можно рассчитать:
У вас есть горизонтальные координаты для обоих тел, поэтому самый простой способ пойти оттуда - посмотреть на сферический треугольник Зенит-Солнце-Сат, угол в зените будет разностью между азимутами и длинами Зенит-Солнце и Зенит-Сат будет и , соответственно.
Теперь, используя формулу косинуса для сферических треугольников, можно получить следующую формулу:
Примечание: если вы не знаете расстояние от Солнца до спутника, я уверен, что вы можете использовать расстояние от Земли до Солнца, поскольку ошибка, вероятно, незначительна.
Пока у вас есть необходимые эфемериды, которые, я полагаю, у вас есть, учитывая стоящую перед вами задачу, не достаточно ли просто вычислить скалярное произведение между векторами спутник-солнце и спутник-наблюдатель и, таким образом, получить arccos фазового угла ? На мой взгляд, это был бы самый прямой путь.
Тошич
пользователь21