Теория и практика межпланетных перелетов. Часть 2.

Kerbal Space Program » Гайды

1. Кеплеровы элементы планетарной орбиты

В самом-самом общем случае орбита планеты выглядит так

Теория и практика межпланетных перелетов. Часть 2.


Для того чтобы знать, как планета расположена в пространстве необходимо, во-первых, задать точку отсчета. В Солнечной системе в качестве опорной плоскости, по отношению к которой рассматривают орбиты планет берут плоскость орбиты Земли, называя её плоскостью эклиптики, или просто эклиптикой. К гадалке не ходи (да и если внимательно почитать вики, становится ясно), что эклиптикой в Кербальской системе является плоскость орбиты Кербина.

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

В Кербальской системе так же принято направление отсчета углов, однако связать его с какой-либо точкой на небе не выйдет - в KSP нет нормального звездного неба - звезды нарисованы и ни одна из них, кроме Кербола не может быть идентифицирована. Но нас это не волнует - таковое направление имеется, а нас будут больше интересовать относительные показатели положения планет, чем абсолютные. Будем считать, что в KSP так же имеется точка весеннего равноденсвия (ТВР), на чертеже выше обозначенное значком Овна.

Итак, как же задать положение планеты? В плоскости своей орбиты её положение задается одним единственным углом theta - истинной аномалией - угол между текущим положением планеты и направлением на перицентр (между отрезками SM и SP). Плоскость орбиты может быть наклонена к плоскости эклиптики (плоскость орбиты Кербина!) под некоторым углом i, который называется наклонением орбиты. В этом случае она пересекат эклиптику по прямой nm. В точке n находится, так называемый, восходящий узел орбиты - точка лежащая в эклиптике, двигаясь из которой планета начинает подниматься над плоскостью эклиптики. Угол между между прямымой Sn и направлением на ТВР называется долготой восходящего узла Omega. И, наконец, положение перицентра по отношению к восходящему узлу задаемся углом nSP, на рисунке обозначенном omega - этот угол называют аргумент перицентра.

Так, ну а как же быть с расстоянием от планеты до солнца и как связать все это с временем? Для этого рассмотрим подробнее параметры эллиптической орбиты



Согласно первому закону Кеплера - орбита планеты - эллипс, в одном из фокусов которого находится солнце. На рисунке солнце находится в точке S. Геометрический же центр эллипса находится в точке C. Длины отрезков AC = CP = a - большая полуось орбиты, среднее арифметическое между наибольшим и наименьшим расстояниями от планеты до солнца



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



Если e = 0, то орбита планеты будет круговой, с радиусом равным a. Круговую орбиту имеет например Кербин - расстояние от него до Кербола не меняется, что сильно облегчает жизнь при расчетах. В реальной жизни идеальных круговых орбит не наблюдается, у той же Земли, эксцентриситет, хоть и небольшой, но все же не ноль. Для эллиптических орбит значение эксцентриситета лежит в пределах 0 < e < 1.

Большая полуось и эксцентриситет полностью задают форму орбиты, и, зная истинную аномалию можно вычислить расстояние от планеты до солнца



Зная большую полуось можно рассчитать время полного оборота планеты по орбите - сидерический период обращения или просто период обращения



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

2. Общий метод вычисления эфемерид

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

В KSP этот момент задается другим параметром - средней аномалией. Средняя аномалия - угол M, который прошла бы планета по орбите за время t, если бы двигалась равномерно с угловой скоростью



где T - период обращения планеты. В KSP-вики для каждой планеты указана средняя аномалия M0 для эпохи J0, то есть в для даты 1y 1d 0h 0m 0s (в первый год, первый день 0 часов 0 минут 0 секунд по кербальскому времени). Значит можно вычислить среднюю аномалию для любого другого момента времени t



где t0 - момент времени, в секундах, для той эпохи, которой соответствует значение M0. Для кербальской системы t0 = 0. Интересующий нас момент времени t в секундах можно рассчитать по дате кербальского календаря, пользуясь формулой



где y - год; d - день; h - час; m - минуты; s - секунды.

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



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

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



и расстояние от планеты до солнца



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

3. Успехи кербальской астрономии

Для планеты Дюна, согласно KSP-вики имеем

Большая полуось орбиты a = 20726155264 м
Эксцентриситет e = 0.05
Наклонение орбиты i = 0.06 градуса
Аргумент перицентра omega = 0
Долгота восходящего узла Omega = 135.5 градуса
Средняя аномалия M0 = 3.14 радиан
Период обращения T = 17315400 c

На моем календаре в KSP 31 год 346 день 5 часов 32 минуты. В секундах это будет



Вычисляем истинную аномалию



Замечу ещё раз - вычисленный угол задан в радианах. Раз он больше двух пи, то за 31 год Дюна совершила не один оборот вокруг Кербола. Отбросив лишние обороты получим



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



В качестве начального приближения возьмем среднюю аномалию



Теперь вычислим новое, первое, приближение



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



Вуаля! На пятой итерации получилось совпадение в даже в седьмом знаке. Принимаем последнее значение в качестве эксцентрической аномалии E = 5.4520927 рад. Теперь, наконец, вычисляем истинную аномалию



Вычисляя арктангенс и учитывая, что эксцентрическая аномалия - развернутый угол, получаем значение истинной аномалии



Это примерно 310.23 градуса - в рассматриваемый момент времени Дюна не добегает около 49 градусов до перицентра.

Грош цена бы этим вычислениям, если они не совпадают с тем, что мы должны увидеть в игре. Проверим?

4. Эксперимент в KSP

Лезем в KSP и, с помощью плагина HyperEdit переводим дату на UT 31y 346d 5h 32m. Отставить гнилые помидоры и тухлые яйца! Да-да, я читал что HyperEdit это чит... А что плохого в том, чтобы перевести дату на нужную, вместо того чтобы судорожно ловить стартовое окно 100000х варпом? Наша задача - понять механику игры, и тут грех не использовать удобное средство. В окне HyperEdit дата вводится в секундах от эпохи J0.

Вот положение Дюны



Она явно не в крайней точке орбиты - высота над Керболом меняется на глазах.

Дальше, путем вычислений, обратных проведенным выше, находим, что Дюна была в перицентра в момент UT 1y 402d 0h 8m 9s. Ставим эту дату



Это явный перицентр - расстояние до звезды на глаз не меняется, а значит в этой точке крайне мала радиальная скорость. Теперь совмещаем два скрина и меряем угол



С учетом того, что мышкой не вывести плоскость точно и учитывая погрешность измерения угла в Inkscape делаем вывод, что мы всё верно расчитали.

Наконец вычислим расстояние от Дюны до Кербола в UT 31y 346d 5h 32m. И вот тут выходит некоторая неточность, ибо с учетом радиуса Кербола в 261600000 м мы получаем высоту над Керболом 19766012240 м, а на скриншоте немного другое число. Что ж, попробую выяснить в чём дело, а пока

Выводы

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

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

Продолжение следует...

P.S.: Небольшое исследование внутренностей KSP (законными методами, через SDK) дало понять причину неточного расчета. Дело в том что в вики даются округленные параметры орбит. Текст не переписываю, приложу только результат того же расчета но с реальными параметрами орбит
Теория и практика межпланетных перелетов. Часть 4. Выход на орбиту с заданной ориентацией в пространстве
Теория и практика межпланетных перелетов. Часть 4. Выход на орбиту с заданной ориентацией в пространстве
23 окт 2015 в 02:18, Гайды
Теория и практика межпланетных перелетов. Часть 1.
2 окт 2015 в 21:49, Гайды
  1. alexoff

    alexoff @Александр 6 октября 2015 00:43

    Это все, конечно, очень благородно, но как там насчет баб?

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

  2. maisvendoo

    maisvendoo @Дмитрий 6 октября 2015 00:50 Автор

    Именно так.
    Ошибка по фазовому углу в 1 градус ведет к ошибке попадания в Дюну в 360 тысяч километров, а это почти в 10 раз больше радиуса гравитационной сферы действия.

    А Дюна тут самая "легкая" в плане перелета планета - орбита почти круговая и наклон к эклиптике мизерный

  3. Nic Nout

    Nic Nout @Nic Nout 6 октября 2015 01:45

    Братан, ты загоняешься по формулам., сбавляй обороты с википедией и школьной программой физики и астрономии.
    Пусть любители жестоких формул кидаются помидорами ( ну, в мою сторону) Я скажу свои мысли в слух: Читать можно много раз, даже запомнить пару формул можно., но ВСЕ равно у рядового "летуна" (я не беру новичков вовсе) не сложится в голове ......, ........, короче: Чувачок! Сделай Гайд по этой теме (я имею виду видео ряд, с подробной демонстрацией всего выше написанному Тобой) покажи расчеты и все главные моменты.
    P.S. Лучше один раз увидеть, чем читать, читать... А за труды ПЛЮС neo

  4. Наблюдатель

    Наблюдатель @Александр 6 октября 2015 09:52

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

  5. nikollor

    nikollor @Ник 6 октября 2015 10:47

    Так это "задрот левел" для гиков. Я вот например понял, почему у меня программка для kOS крафты посылала стабильно к Иилу вместо Дюны. А я тогда просто плюнул и забросил программу с kOSом...

  6. Moryarty

    Moryarty @Альберт 6 октября 2015 11:10

    Открываю я статью значиться и-и-и...

    Черт возьми, теория это хорошо но может быть стоит перейти к практике?

  7. alexoff

    alexoff @Александр 6 октября 2015 12:11

    а что практика? открывай мехджеб или еще какой-нибудь предсказамус и фигачь. как говорится - что тут думать, трясти надо сильней! laughing

  8. nikollor

    nikollor @Ник 6 октября 2015 13:13

    А заключительные пункты с Дюной чем тебе не практика? Ты ждал полетов? не, для проверки теории такой "симуляции" для математики достаточно. Дальше начинается работа инженера np

  9. Falco

    Falco @Сергей Кононов 6 октября 2015 13:24

    Силён!

    Но практическая ценность для КСП-игроков (а не задротов-космолётчиков, летающих по бумажке с расчетами при помощи голого kOS) стремится к нулю :(

  10. artifex

    artifex @Дмитрий 6 октября 2015 16:18

    А все равно прикольно ,)

  11. Jenyaza01

    Jenyaza01 @Евгений 6 октября 2015 17:39

    Для них должно сработать это
    -Скопировать формулу в программу

  12. alextsm

    alextsm Гость 6 октября 2015 17:40

    Теория это правильно, а то все летают "туда" и "обратно" =)
    Плюс.

  13. Airtra

    Airtra @Airtra 6 октября 2015 18:52

    Вполне доходчиво и по некоторым вопросам таки детально раскатано!
    Зря не читаете, практика без теории бесмысленна.
    Автору МЕГА ГИГА ТЕРРА +

  14. 05_12

    05_12 @O5-12 6 октября 2015 20:10

    Слишком много матана.Но плюс.

  15. Sergios

    Sergios @Сергей 6 октября 2015 21:06

    Здесь матана нет, вобще нет. По сравнению с матаном эта статья как 2+2.

  16. 4ykotkA

    4ykotkA 6 октября 2015 21:36

    Эх, как же мне повезло что в моей версии КСП нажал кнопочку и лети куда хош tears

  17. IronFenyx

    IronFenyx 6 октября 2015 22:46

    Тудыть растудыть... Теперь я знаю что означает этот долбаный аргумент перицентра! А то в контрактах попадается, а я ума не приложу какой аргумент и где его искать.. А вот с аномалиями я вконец запутался. Это, конечно, мои проблемы, но назвать что бы то ни было аномалией - надо иметь веские основания. Средняя аномалия - как понять эту сентенцию?? Средний угол планеты от перицентра до планеты... Он должен быть всегда 180*, потому что всего может быть от 0 до 360... В общем, товарищ, помедленнее, мозги мои старые - скрипят шибко..

  18. Басила

    Басила 6 октября 2015 23:43

    Тут понятнее -


    Аргумент - это не от планеты. Это угол между восходящей нодой (точка пересечения орбиты с экватором в направлении от южной полусферы к северной) и перицентром, он же периапсис.

    Про аномалии вроде все понятно. Угол между телом и перицентром - это истинная, а средняя - если бы тело двигалось по круговой орбите с таким же периодом. Больше на вики можно найти.

    А вообще неплохо было бы какую расшифровку к иллюстрации, конечно, а то слишком высокий порог въезжания в тему :)

  19. Silver

    Silver Гость 7 октября 2015 01:24

    Ну и что? Зато тем кому интересно (мне вот например, благодаря уважаемому Магистру-джедаю опять достал учебники из под кровати), запомнят. Да, для рядового игрока это все не нужно - методом тыка подгонки точек маневра и безжалостным накопленного опыта летали, летают и будут летать. Однако, как я когда-то выложил подборку литературы по конструированию ЛА, так и эта статья может быть подстегнет чей-нибудь интерес к космосу, как к профессии. Не все сводится к КСП, в конце-то концов.

  20. Silver

    Silver Гость 7 октября 2015 01:25

    Indeed, my friend!

  21. Silver

    Silver Гость 7 октября 2015 01:26

    И опять же, indeed. Практика в КСП довольно элементарна и решается методом проб и ошибок, либо Мехджебом.

  22. Yaru

    Yaru 7 октября 2015 01:45

    Хех, прям лекции по ТКП вспомнил. Всегда называл их "гайдами по КСП" :D

  23. MjasNick

    MjasNick @Николай 7 октября 2015 10:15

    Для ксп, к сожалению, почти полностью бесполезно. Ибо в игре инструментов ориентирования в пространстве чуть меньше чем ни***. Ну не считать же таковым авиагоризонт. Жаль конечно что стоковая система ориентирования такая закрытая - либо ничего не известно, либо всё уже за вас посчитали из неизвестно чего. Это я про карьеру если что.

  24. maisvendoo

    maisvendoo @Дмитрий 7 октября 2015 12:01 Автор

    Закрытая это конечно да.
    Но вот некоторые исследования, кстати, дают ответ на вопрос почему у меня не сходятся расстояния.

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



    Эксцентриситет например не 0.05 как сказано в вики, а 0.051, вообще-то... ну и так далее.

    Ещё, что интересно, получается вот запускаем мы игру, выбрали свой профиль, оказались в KSC. А орбиты планет ещё не просчитаны, их положения - начальные. Заходим в полет или на станцию слежения - вуаля, положения планет сответствуют текущей дате

  25. mr.geko

    mr.geko @Геннадий Брущенко 7 октября 2015 13:00

    Эта тема мне напомнила одну картинку)
    Напомнило

  26. maisvendoo

    maisvendoo @Дмитрий 8 октября 2015 00:45 Автор

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

  27. IronFenyx

    IronFenyx 9 октября 2015 13:28

    Басила, про аргумент я сразу все прекрасно понял, а вот аномалия - и сейчас не понимаю что означают её варианты (кроме истинной) и нафига они нужны.

  28. IronFenyx

    IronFenyx 9 октября 2015 13:56

    В этой шутке, как и в любой хорошей, есть доля шутки. Кот, конечно, не решает теоремы и не проводит баллистические расчеты - на сознательном уровне. Но у него аппаратно вшита программа, которая срабатывает каждый раз. А время ему нужно для более точного определения расстояний, путем нескольких измерений (глаза фокусируются на нескольких точках пути), а не для самого расчета. Расчет происходит "мгновенно". Мозг человека тоже так делает, когда человек прыгает, но можно научить его и более сложным штукам - например на глаз строить траекторию перелета. Но для этого нужно дать инструменты мозгу, которых у него нет от рождения! Вопрос состоит в том, как увидеть (или отобразить на экране) критические параметры так, чтобы мозг понял их и мог ориентироваться. Тогда он сможет решить задачу трех тел.

  29. Tankuwi

    Tankuwi @Владимир 9 октября 2015 14:18

    Цитата: IronFenyx
    В этой шутке, как и в любой хорошей, есть доля шутки.

    А в колбасе — доля колбасы. XD Может, в хорошей шутке есть доля правды? Исправь, пожалуйста. А так в остальном согласен.

  30. Falco

    Falco @Сергей Кононов 9 октября 2015 14:39

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

{login}
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Последние сообщения с форума
  • Автор
    Тема в разделе: Вопросы по игре
    Просмотров: 1566130
    Ответов: 12701
  • Автор
    Тема в разделе: В ангаре у Боба
    Просмотров: 9487
    Ответов: 55
  • Автор
    Тема в разделе: Технические вопросы
    Просмотров: 25848
    Ответов: 68
  • Автор
    Тема в разделе: Моды
    Просмотров: 2077
    Ответов: 2
  • Автор
    Тема в разделе: В ангаре у Боба
    Просмотров: 219336
    Ответов: 1484
    Все сообщения..
    Полный список последних сообщений
    Loading...

    Нашли ошибку?
    Вы можете сообщить об этом администрации.
    Выделив текст нажмите Ctrl+Alt