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