Pull to refresh

Расчет положения небесных тел на небосводе. Часть 1

Reading time 7 min
Views 23K
Не так давно очень активно обсуждалась тема Марса. В то время у меня возник вопрос от которого в силу своего наивного любопытства я никак не мог избавится: «Где Марс находится в данный момент, в какой стороне?» и смежный с ним: «Да и вообще, как определить положение остальных планет?». Очевидно, что траектории движения планет относительно земли будут весьма хитрыми. Конечно, можно воспользоваться планетариями, например таким, но как вы уже поняли, это не наш путь.

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



Всех любопытных прошу под кат.

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

Так как же движутся планеты?

В реальности, если учитывать взаимное влияние планет, смещение центра тяжести солнечной системы относительно центра тяжести солнца и т.д. движение планет окажется чрезвычайно сложным и не поддающимся строгому аналитическому определению. Стоит отметить что даже задача о движении трех тел не может быть решена аналитически. Поэтому давайте сразу оговорим в рамках каких моделей мы будем работать. Мы будем рассматривать Кеплерову модель орбиты. Существует большое множество других моделей, но все они являются полуаналитическими и в итоге большинство из них сводится к определению параметров Кеплеровой орбиты в интересующий момент времени. Другими словами, Кеплерова орбита является аппроксимацией сложного движения планеты в заданный момент времени. Кеплеровы параметры орбит планет можно посмотреть здесь nssdc.gsfc.nasa.gov/planetary/factsheet, там же указана эпоха (другими словами момент времени) в момент которой данные параметры Кеплеровой орбиты дают точное положение небесного тела. Обычно этим исходным моментом времени является эпоха J2000.0 (полдень 1 января 2000 года). Расчет движения тел на небольшой промежуток времени при помощи Кеплеровой модели является достаточно точным. Точности вполне хватит, чтобы не заметить ошибку визуально или в небольшой телескоп. Конечно, для расчета траектории полета к другой планете нужны более точные модели.

Кеплерова орбита

Итак, по порядку. Начнем с основных допущений данной модели. Предполагается, что масса Солнца много больше массы всех планет вместе взятых, откуда можно сделать вывод, что взаимодействие между планетой и планетой пренебрежимо мало по сравнению с взаимодействием между солнцем и планетой. Таким образом, поставленную задачу можно свети к задаче о взаимодействии двух тел (т.е. можно рассмотреть взаимодействии каждой планеты с солнцем отдельно). Более того предполагаем, что масса планеты много меньше массы Солнца, то взаимодействие получается одностороннее, т.е. планета никак не влияет на движение Солнца. Таким образом, мы можем рассматривать планету, как материальную точку, движущуюся в гравитационном поле, центр которого неподвижен. Примерно так:


Гравитационное взаимодействие

Что такое гравитационное взаимодействие? Это универсальное фундаментальное взаимодействие между всеми материальными телами. О гравитации можно говорить много и долго, но нам нужен только ключевой момент. Согласно классической теории тяготения Ньютона, сила гравитационного притяжения между двумя материальными точками массы m1 и m2, разделёнными расстоянием R, пропорциональна обеим массам и обратно пропорциональна квадрату расстояния между ними — то есть:
image
Здесь — G гравитационная постоянная (некий коэффициент пропорциональности). Нам важно отметить лишь то, что сила гравитации направлена от центра тяжести одного тела к центру тяжести другого и обратно пропорциональна квадрату расстояния между ними (закон обратных квадратов).
Отметим, что на нашу сферическую планету в вакууме материальную точку не действует никакая другая сила, кроме силы притяжения со стороны Солнца. В нашем случае, поле сил тяготения является центральным полем сил. В центральное поле сил, направление силы действующей на тело в любой точке такого поля, всегда проходит через центр этого поля (в нашем случае через центр тяжести солнца), а величина такой силы зависит только от расстояния до этого центра.

Второй закон Ньютона

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

Данная формулировка точная, но не слишком понятная. Сам Ньютон давал другую формулировку:
Изменение количества движения пропорционально приложенной движущей силе и происходит по направлению той прямой, по которой эта сила действует.

Такая формулировка хоть и менее точная (нужно сделать оговорки про системы отчета, но нас это пока не интересует), но куда более понятная. Под количеством движения здесь понимается так называемый импульс тела, равный произведению массы тела на его скорость:
image
Таким образом, запишем словесную формулировку в символьном виде:
image
Или же если мы распишем, чему равен импульс тела и вынесем массу как константу (масса не всегда константа, но в нашем случае это так) за знак дифференциала то получим следующую всем известную формулу:
image
Где вектор image — ускорении тела. Не забываем, что ускорение, импульс, скорость и сила величины векторные. Давайте условимся, что если над векторной величиной стоит знак вектора, то понимается именно вектор, в противном случае его модуль.

Второй закон Кеплера

Давайте для простоты, поместим начало координат в центре тяготения, т.е. в центре тяжести Солнца. Таким образом, вектор, проведенный из центра тяжести планеты к началу координат, совпадает по направлению с вектором силы притяжения.
Положение тела в пространстве описывается так называемым радиус-вектором — вектором, проведенным из начала координат к центру тяжести тела. Умножим векторно левую и правую часть выражения на радиус вектор:
image
Для дальнейших манипуляций, давайте распишем производную векторного произведения:
image
Тогда производная векторного произведения радиус вектора на скорость:
image
Напомню, что векторное произведение вектора самого на себя равно нулю, тогда:
image
Внесем массу под знак дифференциала, и с учетом выражения для импульса тела получим:
image
Так как вектор силы притяжения всегда направлен к центру тяготения, то векторное произведение радиус вектора на силу притяжения всегда равно нулю, отсюда делаем очень важный вывод:
image
Мы получили так называемый закон сохранения момента импульса. Изменение момента импульса тела пропорционально приложенному к нему моменту сил. Так как вектор силы притяжения всегда направлен к центру тяготения, то момент силы притяжения относительно центра тяготения всегда равен нулю. Отсюда следует, что момент импульса тела постоянен.
Так как мы договорились, что масса планеты постоянна, то также справедливо и следующее выражение:
image
Чтобы понять, что такое image, давайте обратимся к рисунку:

На рисунке изображен участок траектории. За время dt тело проходит расстояние vdt. Модуль векторного произведения векторов численно равен площади параллелограмма построенного на этих векторах. Получается, что:
image
Величина image есть площадь описываемая радиус вектором за единицу времени и называется она секториальной скоростью. Следовательно, секториальная скорость тела постоянна. Мы только что получили второй закон Кеплера который гласит:
Каждая планета движется в плоскости, проходящей через центр Солнца, причём за равные промежутки времени радиус-вектор, соединяющий Солнце и планету, описывает равные площади.

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

image

Дифференциальное уравнение орбиты

Давайте все же подробнее рассмотрим векторное произведение радиус вектора на скорость. Радиус вектор можно представить в виде произведения модуля радиус вектора (расстояние от начала координат до точки) на вектор единичной длины, совпадающий по направлению с радиус вектором:
image

Тогда вектор скорости будет равен:
image
А векторное произведение радиус вектора на скорость в свою очередь:
image
Учитывая тот факт, что вектора image и image совпадают по направлению, а следовательно совпадают по направлению и вектора image и image, получаем, что image. Тогда:
image
Давайте разберем, что такое производная единичного вектора по времени:

Из рисунка видно, что за время image вектор image поворачивается на угол image. Разность векторов image и image равна вектору image. Для малых углов справедливо следующее соотношение:
image
В пределе, когда image устремляется к нулю, направления векторов image и image совпадают, а направление вектора image перпендикулярно к ним. Введем единичный вектор image, перпендикулярный к image и совпадающий с направлением движения его конца, тогда:
image
Таким образом, переходя к пределу, получим:
image
Где image это угловая скорость вектора image. Обозначим image
Вернемся к нашему произведению радиус вектора на скорость, учитывая, что image получим:
image
Несложно заметить, что вектора image и image взаимно перпендикулярны. Введем еще один единичный вектор image, который перпендикулярен к векторам image и image. Таким образом, вектора image, image и image образуют ортонормированный базис. Исходя из определения векторного произведения, получим:
image
Следовательно, image. Введем обозначение, image. Так же стоит отметить, что:
image
Вернемся к второму закону ньютона. Вектор силы действующей на тело распишем сразу как величину гравитационной силы, умноженную на орт image:
image
Где m1 и m2 — масса планеты и солнца соответственно.
Давайте на массу планеты сразу сократим, и нигде далее про массу планеты вспоминать не будем, так как она совершенно не влияет на траекторию движения. Будем считать, что мы работаем с телом единичной массы. Введем обозначение, image, тогда:
image
Теперь давайте распишем вектор ускорения:
image
Рассмотрим содержимое второй скобки:
image
Но мы уже знаем, что image, отсюда следует, что image, тогда:
image
Введем обозначение image. Напомню, что раннее мы ввели обозначение image, очевидно, что image.
Теперь распишем производную от модуля радиус вектора через С:
image
Теперь распишем вторую производную от модуля радиус вектора через С:
image
Учитывая полученный результат, перепишем выражение для вектора ускорения:
image
Тогда второй закон Ньютона примет вид:
image
Перепишем полученное дифференциальное уравнение в более привычный вид:
image
Я думаю многие из вас догадались, что представляет из себя полученное дифференциальное уравнение, но я пожалуй закончу на этом первую часть чтобы не перегружать читателя и себя.

Итог

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

Что нам еще предстоит

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

P.S.

Любая критика, замечания и дополнения приветствуются.
Tags:
Hubs:
+47
Comments 25
Comments Comments 25

Articles