A A A A Автор Тема: Моделирование орбитального движения  (Прочитано 1149 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sammi2186Автор темы

  • Новичок
  • *
  • Сообщений: 2
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sammi2186
Всем привет. Пишу модель солнечной системы на Java с библиотекой JavaFX (если это о чем-то говорит). Застрял на моделировании неравномерного движения планеты по орбите (разные скорости в зависимости от расстояния до Солнца). Используется анимация. В продолжение одного цикла анимации в функцию расчета координат планеты приходит возрастающее от 0.0 до 1.0 число. Если это равномерное движение, то я просто умножаю это число на 360, получаю угол, а затем через параметрическое уравнение эллипса рассчитываю координаты x и y. Но при неравномерном движении другое. Небесную механику знаю плохо, но предполагаю, что нужно использовать уравнение Кеплера. Проблема в определении средней аномалии. Как я понял, там нужна юлианская дата и время прохождения через перигелий. Но у меня этого нет и не нужно. Есть период обращения планеты (выражен в секундах пропорционально реальному времени) и возрастающее от 0.0 до 1.0 число. Подскажите, как правильно сделать. Заранее спасибо.

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Моделирование орбитального движения
« Ответ #1 : 23 Апр 2015 [13:16:03] »
Такие вещи надо начинать с математической подготовки, что ли.
Исходя из большой полуоси считаем среднюю аномалию, потом эксцентрическую аномалию из уравнения Кеплера, потом истинную аномалию и радиус-вектор, потом используя долготу восходящего узла, наклонение и аргумент перигелия считаются координаты в пространстве в эклиптической системе координат.
А как это сделать, написано в параграфах 16-19 книги "Астрономическй календарь. Постоянная часть"
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Sammi2186Автор темы

  • Новичок
  • *
  • Сообщений: 2
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Sammi2186
Re: Моделирование орбитального движения
« Ответ #2 : 23 Апр 2015 [21:51:14] »
Спасибо, разобрался. Вращается)

Оффлайн Небесный Механик

  • Новичок
  • *
  • Сообщений: 20
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Небесный Механик
Re: Моделирование орбитального движения
« Ответ #3 : 06 Мар 2017 [04:28:34] »
А что мешает вывести уравнение движения в аналитической форме? Ведь фактически все уравнения являются функцией одной переменной.
Попробуем уйти от тригонометрии. Нам известно, что тело движется по эллипсу с полуосями а, b, в одном из фокусов которого расположено гравирующее тело. Этого достаточно, чтобы считать все в линейных координатах.

Считаем, что ось Х совпадает с большой полуосью, за начало координат примем гравирующее тело. Эксцентриситет обозначим буквой е. Тогда из уравнения эллипса выводим координату y.
y = \( b*\sqrt{1-\frac{(x-ae)^2}{a^2}} \)

Тогда расстояние между спутником и гравирующим телом является функцией от х (не делаю подстановку во избежании громоздкой записи):
\( R = \sqrt{x^2 + y^2} \)

Далее, из ЗСЭ имеем:
\( mv^2/2 + \frac{GMm}{R} = E \)
, где E - постоянная величина, которую можно вычислить, например, для известной скорости в перицентре.

Отсюда находим скорость как функцию от х, получив таким образом первую производную х(t):
\( \frac{\mathrm{d} x}{\mathrm{d} t} = \sqrt{2/m*(E- \frac{GMm}{R(x)})} * dt \)

И из ЗВТ Ньютона в проекции на ось Х получаем вторую производную:
\( mx''=\frac{GmM}{R^2(x)}*cos(\phi) = \frac{GmM*x}{R^3(x)} \)


Таким образом, имеем систему, достаточную для вычисления функции x(t). Она достаточно сложна, но тем не менее нет сомнений, что можно получить ее аналитическое выражение.
Так что же, в таком случае, мешает вычислению этой функции?

Оффлайн Крупин

  • *****
  • Сообщений: 4 878
  • Благодарностей: 92
    • Сообщения от Крупин
    • Девятой планеты нет
Re: Моделирование орбитального движения
« Ответ #4 : 06 Мар 2017 [06:35:44] »
Таким образом, имеем систему, достаточную для вычисления функции x(t). Она достаточно сложна, но тем не менее нет сомнений, что можно получить ее аналитическое выражение.
Так что же, в таком случае, мешает вычислению этой функции?
Неверно. Координаты не являются аналитическими функциями времени, решение - бесконечный ряд. А наоборот, зависимость времени от длины радиус-вектора и, соответственно, координат - функция аналитическая. Но ведь на практике всегда требуется найти положение тела в определённый момент времени, а не наоборот - найти момент времени, когда тело будет находится в определённой точке траектории.

Оффлайн Небесный Механик

  • Новичок
  • *
  • Сообщений: 20
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от Небесный Механик
Re: Моделирование орбитального движения
« Ответ #5 : 06 Мар 2017 [12:24:47] »
А наоборот, зависимость времени от длины радиус-вектора и, соответственно, координат - функция аналитическая.
Спасибо. А не подскажете, где можно найти эту формулу?

Оффлайн Крупин

  • *****
  • Сообщений: 4 878
  • Благодарностей: 92
    • Сообщения от Крупин
    • Девятой планеты нет
Re: Моделирование орбитального движения
« Ответ #6 : 06 Мар 2017 [12:33:08] »
А наоборот, зависимость времени от длины радиус-вектора и, соответственно, координат - функция аналитическая.
Спасибо. А не подскажете, где можно найти эту формулу?
Не знаю, я сам когда-то её получил - получилось два слагаемых - с арктангенсом и квадратным корнем.

Оффлайн Monstr

  • *****
  • Сообщений: 1 082
  • Благодарностей: 78
  • Смотри дальше
    • Сообщения от Monstr
Re: Моделирование орбитального движения
« Ответ #7 : 06 Мар 2017 [23:12:24] »
Небесную механику знаю плохо, но предполагаю, что нужно использовать уравнение Кеплера. ... Подскажите, как правильно сделать. Заранее спасибо.
В таком случае откройте для себя JPLEPH ftp://ssd.jpl.nasa.gov/pub/eph/planets
Фактически это база данных коэффициентов Чебышева, которые позволяют вычислить положения Луны и планет в прямоугольных координатах в большом диапазоне дат. JAVA там тоже есть.
"Чем больше наука укрепляется в своих знаниях, тем с каждым днем является больше и больше доказательств бесконечной жизни, существования Творца и силы Его могущества." (В. Гершель)