lastuniverse
@lastuniverse
Всегда вокруг да около IT тем

Cимуляция движения тела по орбите?

Видимо замылился глаз. Не могу найти/понять в чем ошибка.

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

Ожидаемый результат:
движение тела по идеально (ну почти) круглой орбите

Получаемый результат:
В большинстве случаев движение по эллиптической орбите

Предполагаемая причина:
Ошибки вычисления и их последовательное накопление

Что меня удовлетворит в качестве ответа:
Способ существенно уменьшить эти ошибки или ослабить их влияние на модель настолько, чтобы визуально орбита выглядела круглой, с центром в центре источника гравитации

Текущая реализация:

где:
черное тело - объект на орбите
оранжевое тело - источник гравитации (неподвижный/стационарный)
красная линия - соединяет центры объекта и источника гравитации
зеленая линия - вектор скорости, направленный по касательной к орбите (для наглядности увеличен на порядок)
синяя линия - вектор силы притяжения (для наглядности увеличен на 2 порядка)
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
Robur
@Robur
Знаю больше чем это необходимо
Если у вас реальные физические формулы, то я бы сказал что ожидаемый результат - движение тела по эллиптической орбите.
Все тела в космосе так и летают.
Более того, даже этот сдвиг эллипса на каждом круге - это то что происходит в реальности.

Может у вас программа наоборот - слишком правильно работает?
Ответ написан
@U235U235
Попробуйте увеличить скорость, посмотрите как меняется эксцентриситет эллипса.
Может при какой-то скорости эллипс станет неотличим от окружности.
Ответ написан
@Karpion
Почитайте что-нибудь популярное про небесную механику. По окружности тела двигаются только если имеют строго первую космическую скорость.

Движение тела надо решать по методу Эйлера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы