Нахождение новой истинной аномалии после выполнения маневра

Учитывая стандартный набор элементов орбиты (угловой момент, большая полуось, эксцентриситет, наклонение, долгота восходящего узла, аргумент перицентра и истинная аномалия) и глобальную временную переменную, как мне найти новую истинную аномалию после выполнить орбитальный маневр? Когда я добавляю силу к объекту, я вычисляю его векторы состояния и помещаю его в «сбой» в игровом движке, что означает, что он не распространяется в соответствии с элементами орбиты. Когда прожиг закончен, я вычисляю новую орбиту и ставлю объект «на рельсы», то есть он возобновляет движение по новой орбите. Моя текущая дилемма заключается в том, что когда я добавляю тягу и пересчитываю орбиту, аргумент перицентра и истинной аномалии меняется, и объект перемещается неправильно. В настоящее время я вычисляю истинную аномалию непосредственно из глобальной переменной времени, но я понимаю, что мне нужно связать ее со временем в перицентре или подобным образом. Кто-нибудь может пояснить, как мне это решить?

Ответы (1)

Если у вас есть все орбитальные параметры новой орбиты, а также радиальное расстояние от центрального тела космического корабля после маневра, и орбита не является круговой, у вас достаточно информации для определения новой истинной аномалии.

Данный:

  • Радиальное расстояние: р
  • Орбитальный эксцентриситет: е
  • Большая полуось: а

Полярное уравнение кеплеровской орбиты:

р "=" а ( 1 е 2 ) 1 + е потому что θ

Где истинная аномалия представлена θ

Решение для θ дает тебе

θ "=" ± арккос ( а ( 1 е 2 ) р е р )

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

Что касается того, как определить, что происходит, одним из способов было бы, если бы у вас был вектор радиального расстояния ( р ) и вектор скорости ( в ), доступный в вашем коде, и взять скалярное произведение двух.

  • если р в > 0 , то космический корабль поднимается к апоапсису.
  • если р в < 0 , то корабль спускается к перицентру.
  • если р в "=" 0 , либо ваш космический корабль находится в апоцентре ( θ "=" ± π ) или в перицентре ( θ "=" 0 ) , или ваша орбита круговая.
Я попробую и дам вам знать, как это работает, спасибо за ответ!