Предполагая, что вы фактически рассчитали все три точки интереса, рассчитанные уже [*], где O
- это положение наблюдателя (на Земле), S
- это положение Солнца, а M
- это точка на Луне, тогда:
OM . OS = |OM| * |OS| * cos(theta)
Или, другими словами, для вычисления theta
, возьмите скалярное произведение двух векторов, разделите полученный результат на величину этих двух векторов, а затем возьмите обратный косинус результата .
[*] ваш вопрос требует только угла между двумя линиями - если вместо этого вы хотите узнать, как рассчитать фактические линии для любого момента времени, вам следует переписать свой вопрос.