Как я могу найти положение x, y апогея и перигея, если у меня есть только значение вектора расстояния (положения) и вектора скорости?

В настоящее время я работаю над двухмерным космическим симулятором, в котором у меня есть два тела; один неподвижен, а другой — объект на орбите, которым я также могу управлять, как ракетой.

Я использую гравитацию Ньютона: Ф "=" г м 1 м 2 р 2 , и я хочу рассчитать траекторию этого движущегося объекта.

Это вообще возможно?

Я думаю, что если я посчитаю Икс , у положение апогея и перигея легко будет определить по эллипсу, а потом показать траекторию. Или есть другой хороший подход?

у меня есть расстояние р от м 1 к м 2 , вектор скорости м 2 , а позиции м 1 к м 2 . У меня также есть массы и г .

Как рассчитать эллиптическую траекторию м 2 вокруг м 1 ?

примечание: предположим, что м 2 это ракета, скорость которой я также могу изменить.

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

Добро пожаловать на Stack Exchange! Я добавил немного форматирования MathJax и немного изменил формулировку, пожалуйста, не стесняйтесь редактировать дальше. Спасибо!
Спасибо за ваше редактирование, теперь вопрос выглядит аккуратно и чисто. Спасибо!

Ответы (4)

Вектор эксцентриситета имеет величину, эквивалентную орбитальному эксцентриситету эллипса, и указывает вдоль линии апсид в направлении от центрального тела к периапсиду.

Данный:

параметр символ
вектор радиального расстояния р
вектор скорости в
гравитационный параметр мю

Как упоминает Роджер Вуд, рассчитайте удельную орбитальную энергию ε чтобы получить большую полуось a:

ε "=" в 2 2 мю р

а "=" мю 2 ε

Если вы используете трехмерные векторы, вы можете рассчитать удельный угловой момент час :

час "=" р × в

Тогда вектор эксцентриситета равен:

е "=" в × час мю р р

Если вы не используете угловой момент как векторную величину, возможно, из-за того, что вы выполняете 2D-моделирование, приведенное выше уравнение эквивалентно следующему:

е "=" ( в мю 1 р ) р р в мю в

И, как упоминалось ранее, эксцентриситет орбиты е - величина вектора эксцентриситета:

е "=" е

Отсюда можно получить перифокальный единичный вектор п ^ который указывает в том же направлении, что и вектор эксцентриситета:

п ^ "=" е е

Если ваше центральное тело является началом вашей системы координат, то вектор положения перицентра равен:

р д "=" а ( 1 е ) п ^

И тот, что ближе к апоапсису:

р Вопрос "=" а ( 1 + е ) п ^

Упс, забыл перевернуть знак в уравнении апоцентра. Исправлено сейчас.
Спасибо за формулы и подробное объяснение. Но я не понимаю формулу эксцентриситета. Как мы можем вычислить обратную величину абсолютного вектора?
Было бы очень полезно понять, если бы вы привели простой пример расчета вектора эксцентриситета. Спасибо!
@ Сартак, возможно, я немного расслабился в своих обозначениях. р это просто величина вектора радиального расстояния р
@notovny хороший ответ, я не знал о векторе эксцентриситета и полезной закрытой форме
Спасибо @notovny, из этого ответа я лучше понял уравнение вектора эксцентриситета . А еще я думаю, что а всегда считается положительным.
@ Сартак Не обязательно. Если вы работаете с гиперболическими траекториями, ряд уравнений эллиптической орбиты работает без изменений, если большая полуось имеет отрицательное значение. Уравнение vis-viva , уравнение для перицентра, перечисленное выше, вычисляющее удельную орбитальную энергию от большой полуоси, среди прочего. Это соглашение, которое я обычно использовал, когда собирал свои собственные кеплеровские орбитальные симуляции; меньше кода для поддержки.
Тем не менее, знак, который я забыл перевернуть, был в скобках; до того, как я его отредактировал, уравнение утверждало, что перицентр и апоцентр находятся на одинаковом расстоянии от центрального тела.

По начальному радиусу и скорости можно рассчитать орбитальную энергию и угловой момент ракеты. Обе величины сохраняются. Орбитальная энергия также равна г М м / 2 а что дает вам большую полуось, а . Угловой момент также равен м г М а ( 1 е 2 ) что дает вам эксцентричность, е . Теперь у вас есть уравнение общей эллиптической орбиты. Чтобы установить его ориентацию, вам нужно решить, где находится начальная точка эллипса.

Наконец-то я прошел через это.....

введите описание изображения здесь

введите описание изображения здесь

30 лет назад (до интернета, до появления смартфонов) я написал очень простую программу численного двухмерного орбитального моделирования. Я рассчитал скорость и ускорение отдельно для компонент x и y.

Массивное тело находилось в начале координат (0,0). Я выбрал произвольный интервал итерации (10 секунд полета).

Я подавал в исходное положение и начальную скорость. Например, положение в км (0,7000) и скалярная скорость (7,8,0) в км/сек. Это будет объект на LEO, движущийся параллельно оси X.

Далее рассчитаем гравитационное ускорение отдельно для каждой оси. В течение первого 10-секундного цикла итерации ускорения по оси X не будет, но по оси Y оно составит 10 с*9,8 м/с^2. Рассчитайте дельта-v (0,-98) и результирующую скорость (7,8, -0,098). Обновить позицию (78,6922).

Обновите дисплей. Повторите петлю. Расчеты все арифметические, с использованием подобных треугольников. Не требуются триггерные или векторные операции.

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

Эта упрощенная программа производила очень хорошие эллиптические орбиты и переходы Хомана. «Земная орбита» занимала около 10 секунд процессорного времени при работе на i386.

Я мог нажать «пауза», вставить дельта-v, а затем продолжить, чтобы увидеть результат.

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

Если вы хотите сохранить данные (скажем, фазовый угол в апогее или скорость в перигее), потребуется еще несколько строк программирования.

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

Я заранее приношу извинения всем настоящим математикам и программистам за этот детский подход и за неизбежные ошибки, которые я допустил, извлекая его из памяти.