Проблема очевидного центрирования при использовании перифокальной системы для рисования орбитальных эллипсов

Aug 19 2020

Я пытаюсь визуализировать орбитальные эллипсы с помощью программного обеспечения. Учитывая набор орбитальных элементов, я использую систему Perifocal для определения набора точек вдоль кривой эллипса. Я использую уравнение:

r = r cos ( v ) P + r sin ( v ) Q ,

где v - угол, P и Q - перифокальные векторы, соответствующие I и J , а r - полярное уравнение коники:

г = р / 1 + е cos ( v ),

где p - прямая полушария прямой кишки, e - эксцентриситет, а v в обоих уравнениях - угол.

Я определяю векторы P и Q, используя следующие уравнения:

Pi =   cos (lan) cos (aop) - sin (lan) cos (inc) sin (aop)
Pj =   sin (lan) cos (aop) + cos (lan) cos (inc) sin (aop)
Pk =   sin (inc) cos (aop)

Qi = - cos (lan) sin (aop) - sin (lan) cos (inc) cos (aop)
Qj = - sin (lan) sin (aop) + cos (lan) cos (inc) cos (aop)
Qk =   sin (inc) cos (aop)

где lan - долгота восходящего узла, aop - аргумент перицентра, а inc - наклон.

Этот процесс дает правильный эллипс! Однако кажется, что эллипс не отцентрирован правильно в фокусе; фокус оказывается слишком близко к центру эллипса. Вот пример:

Вы можете видеть, что эти два очень эксцентрических эллипса имеют общий центр масс в их центрах, а не в их соответствующих фокусах.

Есть ли какой-то этап в моем процессе, который мне не хватает? Я мог бы просто применить смещение к эллипсам, но это было бы уловкой, я хочу решить проблему.

Любая помощь приветствуется! Спасибо!

РЕДАКТИРОВАНИЕ И РАЗЪЯСНЕНИЯ ВОПРОСОВ:

Это изображение получено с точки зрения, почти перпендикулярной плоскости орбиты; здесь практически нет перспективы.

Во-вторых, полезный пользователь указал на проблему в уравнении для Pk. Правильное выражение:

Pk = грех (вкл) грех (ап)

К сожалению, в моем коде это было правильно, поэтому, хотя исправление было хорошим, оно не было источником моих проблем.

Ответы

2 Manny Aug 19 2020 at 05:55

Согласно определению Perifocal Frame в Википедии , уравнение Pk требует корректировки. Я не уверен, является ли это источником ошибки, которую вы наблюдаете.

Вместо того:

Pk = sin (inc) cos (aop)

Википедия говорит:

Pk = sin (inc) sin (aop)

2 Keegan Aug 19 2020 at 07:17

Я решил проблему.

Все, что я разместил в OP, было правильным; При преобразовании выражений в код я допустил простую глупую ошибку со знаком.

Также следует отметить, что в OP выражение для Pk неверно. Правильное выражение

Pk = грех (вкл) грех (ап)

На всякий случай кто-то сам пытается это сделать!

Всем спасибо за идеи!

Правильные орбиты: