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

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

Составим уравнение. Есть звезда с массой М и планета на расстоянии г от звезды. Предположим, что вокруг нет других объектов, которые могут вызвать возмущение. Что я хочу знать, так это скорость в что требуется для того, чтобы планета прошла через желаемую точку п на своей орбите, принимая угол траектории а .

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


Например, предположим:

Масса Солнца = 1 000 000 кг
Солнце x = 0 км
Солнце y = 0 км
Планета x = 500 км
Планета y = 0 км
Скорость планеты x = 0 км/с
Скорость планеты y = ??? км/с
Искомая точка x = -1000 км
Искомая точка y = 0 км

Что я хотел бы узнать, так это то, какой должна быть скорость y, чтобы планета прошла через желаемую точку. Этот конкретный пример привел бы к планетарной орбите с большой полуосью, которая в 2 раза больше малой полуоси.


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

Как я могу сделать эти расчеты?

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

Я экспериментировал только с 90-градусной траекторией и пытался найти формулу, основанную на расчете орбитальной скорости для идеально круговой орбиты, но мне не повезло. Однако мне удалось подтвердить, что максимальное расстояние, которое проходит планета, приближается к бесконечности по мере того, как скорость планеты приближается к ее космической скорости.

ПРИМЕЧАНИЕ. Пожалуйста, не бросайте мне просто уравнение; Я хотел бы знать, как было получено уравнение. Например, если использовалось уравнение орбитальной скорости , объясните, как это сделать.


Вот некоторые уравнения, которые я изучал, но я не уверен, как и нужно ли мне их использовать для получения уравнения, которое я ищу:

Попробуйте законы Кеплера. Еще лучше найти ресурс в Интернете или книгу по небесной механике — на самом деле все зависит от того, сколько тел и пытаетесь ли вы смоделировать небесное движение и т. д.

Ответы (2)

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

р ( θ ) "=" р 0 1 + е потому что ( θ + ф ) ,

где р - расстояние до одного из фокусов эллипса (центра масс системы или центра звезды, если она намного массивнее объекта на орбите), е это эксцентриситет и θ выбирается, например, так, что θ "=" 0 для вашего начального положения (не обязательно одной из осей эллипса). Для е < 1 , траектория замкнута и соответствует эллипсу. Когда е 1 , планета убегает в бесконечность (парабола или гипербола), но я думаю, что остается верным следующее (только надо быть осторожным с допустимыми θ х).

Теперь вам нужно преобразовать вашу «цель» из Икс , у координаты до р т а р г е т , θ т а р г е т . Затем вам нужно найти соотношение между вашим начальным углом α (фиксированная), начальная скорость в 0 с р 0 , е и ф . Я не прорабатывал детали, но предполагаю, что это можно сделать, используя определение эксцентриситета и обратные тригонометрические функции. Я постараюсь изучить это. Теперь, когда у вас есть р 0 ( α , в 0 ) , е ( α , в 0 ) и ф ( α , в 0 ) , вы можете просто ввести в уравнение эллипса и посмотреть на θ "=" θ т а р г е т . Вам это нужно

р т а р г е т "=" р ( α , в 0 , θ "=" θ т а р г е т ) "=" р 0 ( α , в 0 ) 1 + е ( α , в 0 ) потому что ( θ т а р г е т + ф ( α , в 0 ) ) .

Я не знаю, самый ли это простой способ сделать это, но тем не менее я верю, что это можно сделать.

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

Доступные позиции

На картинке выше зеленая часть плоскости — это доступные позиции. Вы видите, например, что если вы хотите поразить цель, показанную здесь, вам понадобится скорость в 0 между изображенным синим (эллипс) и красным (гипербола). Красная часть изображения, с другой стороны, соответствует точкам, к которым нельзя получить доступ, используя это значение α .

Если вы нашли решение и хотите проверить, пройдете ли вы через звезду в какой-то момент, вам просто нужно проверить, соответствует ли минимальное расстояние, которое р 0 / ( 1 + е ) больше или меньше радиуса звезды (при условии, что звезда очень массивна и фокусы эллипса слиты с центром звезды).

Надеюсь это поможет!

Предварительные расчеты:

эксцентриситет определяется как:

е "=" 1 + 2 ε час 2 мю 2 ,

где ε - удельная орбитальная энергия (полная энергия, деленная на приведенную массу), мю стандартный гравитационный параметр, основанный на общей массе, и час удельный относительный угловой момент (угловой момент, деленный на приведенную массу) (-> https://en.wikipedia.org/wiki/Orbital_eccentricity ).

Предполагая большую массу звезды, так что приведенная масса мю это просто масса планеты м а общая масса примерно равна массе звезды М , ты ищешь:

е "=" 1 + 2 ( в 0 2 2 г М г ) г 2 в 0 2 потому что 2 ( α ) г 2 М 2 ,

где г - первоначальное расстояние от звезды до планеты, а α определяется так, что α "=" 0 если скорость изначально чисто радиальная. Кстати, это дает вам уравнение второго порядка в в 0 2 , что позволяет вам инвертировать его (хотя я не уверен, хотите ли вы инвертировать уравнение в этот момент...).

Затем, чтобы найти ф , вы можете использовать вектор Лапласа-Рунге-Ленца ( https://en.wikipedia.org/wiki/Laplace%E2%80%93Runge%E2%80%93Lenz_vector ), определенный как А "=" п × л г М м 2 е р , что указывает направление, для которого θ + ф "=" 0 . Если вы выберете ось X так, чтобы она совпадала с вашим начальным положением, вы обнаружите, что А "=" м 2 в 0 2 г ( потому что 2 ( α ) е Икс + потому что ( α ) грех ( α ) е у ) г М м 2 е Икс (Проверьте еще раз, пожалуйста). Из этого вы должны быть в состоянии найти ф а потом р 0 . Удачи!

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

Для упрощения рассмотрим случай с бейсбольным мячом, который вы хотите бросить из точки А в точку В в линейно однородном гравитационном поле. Нас не волнует скорость, с которой он достигает точки B, или время, в которое он туда попадает, просто то, что он появляется там в какой-то момент.

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

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

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

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

Да, но в моем сценарии угол является фиксированным значением. Я хочу рассчитать скорость.