A A A A Автор Тема: Перевод элементов орбиты в J2000.0  (Прочитано 730 раз)

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

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

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Стыковка — это всегда событие
    • Сообщения от SoyuzDeveloperTeam
Всем привет! Занимаюсь разработкой симулятора космического корабля Союз-ТМА и нам предоставили математическую модель движения этого корабля, но проблема в том, что она на входе требует текущее местоположение корабля в пространстве не как Кеплеровы параметры орбиты, а в виде векторов в эпохе J2000 (вектор положения центра масс в J2000 [X,Y,Z] и скорость центра масс в J2000).
Может из вас может кто подсказать как мне перевести стандартный набор параметров орбиты, в вектора в J2000? Заранее благодарю, т.к. в сети ничего найти дельного не могу.

Онлайн Toth

  • *****
  • Сообщений: 2 854
  • Благодарностей: 202
    • Сообщения от Toth
Re: Перевод элементов орбиты в J2000.0
« Ответ #1 : 25 Мар 2020 [14:44:50] »
Вот -
О. Монтенбрук, Т. Пфлегер "Астрономия на персональном компьютере" (старое издание 199..х- с исходниками на Pascal, новое 2002 - на C++)
Ж. Меес, "Астрономические формулы для калькуляторов"
П. Даффет-Смит  "Практическая астрономия с калькулятором"
Астрономический калентарь. Постоянная часть
.
Там есть определение координат, правда гелиоцентрических, но можно постоянную Гаусса заменить на корень из GM Земли, и время из дней в секунды. А формулы все - те же.

Если надо, могу предложить исходник модуля для именно спутников Земли , на Паскале.

PS Кстати, если движение ИСЗ по-честному считать, то есть с учетом J2,J4, .., сопротивления атмосферы и т.д. то есть такие TLE -
https://ru.wikipedia.org/wiki/TLE , и куча исходников для них в сети.
Про TLE напр. - Перевод TLE в вектор состояния.
Определение координат МКС - Где их взять вообще?
Canon PowerShot SX130 IS

Оффлайн Monstr

  • *****
  • Сообщений: 1 082
  • Благодарностей: 78
  • Смотри дальше
    • Сообщения от Monstr
Re: Перевод элементов орбиты в J2000.0
« Ответ #2 : 25 Мар 2020 [23:30:39] »

Г.Н.Дубошин. СПРАВОЧНОЕ РУКОВОДСТВО ПО НЕБЕСНОЙ МЕХАНИКЕ И АСТРОДИНАМИКЕ.
http://booksshare.net/books/physics/doboshin-gn/1976/files/spravochnoerukovodstvo1976.pdf


Тут полно литературы
http://mechmath.ipmnet.ru/lib/?s=celestial


Рекомендую там трехтомник Херрик С. Астродинамика.
И по спутникам найдете много чего.
"Чем больше наука укрепляется в своих знаниях, тем с каждым днем является больше и больше доказательств бесконечной жизни, существования Творца и силы Его могущества." (В. Гершель)

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

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Стыковка — это всегда событие
    • Сообщения от SoyuzDeveloperTeam
Re: Перевод элементов орбиты в J2000.0
« Ответ #3 : 26 Мар 2020 [20:08:48] »
Если надо, могу предложить исходник модуля для именно спутников Земли , на Паскале.
Было бы неплохо!
По поводу по-честному - все это уже учитывается в математической модели движения.
Перевод мне необходим для того, что бы игроку перед началом режима было удобно вводить начальные условия (начальное состояние корабля и станции - оскулирующие элементы, а так же массово-инерционные характеристики и другие параметры, относящиеся уже к состоянию вычислительных средств корабля и станции). Оператор вводит непосредственно Кеплеровы элементы в форму начальных условий, а они уже должны переводится в вектора в J2000 для модели движения.
Работаю на С++, реализую графическую составляющую симулятора (СИВО - Систему Имитации Визуальной Обстановки) в среде Unity3d и мне по сути нужно перенести из математической модели параметры положения, скорости и ориентации (которая передается в виде компонент кватерниона разворота строительный осей космического аппарата относительно J2000 double [Qs, Qx, Qy, Qz]) в эту самую СИВО, где у меня на 3-х мерной сцене размещена планета Земля (собственно ноль сцены и есть ц.м. земли), модель МКС и модель ТПК "Союз-ТМА". В программу в эту я передаю структуру, в которой содержатся вектора положения ц.м. объектов и единичный вектор из центра J2000 на Солнце в проекциях на J2000.

Онлайн Toth

  • *****
  • Сообщений: 2 854
  • Благодарностей: 202
    • Сообщения от Toth
Re: Перевод элементов орбиты в J2000.0
« Ответ #4 : 26 Мар 2020 [20:25:26] »
Вот -
В комментах вроде все описано.
Правда, у меня там в системе СИ, обычно для геоцентр. расчетов применяют другие единицы ( минута, 1 масса и 1 радиус Земли ). Но, можно перевести, или поменять коэффициенты. Я просто для своих целей когда-то делал.

Для проверки - фрагмент кода
var ke:tKEO;
    vP,vV:tVector;
const PP=PI/180;
begin
 ke.a:=7500000;
 ke.e:=0.123;
 ke.i:=11*PP;
 ke.Node:=22*PP;
 ke.w:=33*PP;
 ke.M:=44*PP;
 ke.JD0:=2458934.1;
 KEOToPosVel(ke,2458934.7,vP,vV);
// далее - вывод результата
Результат - vPos,vVel:
-3255415.92031782
6050762.59925791
1327553.29941318
-7216.41008676173
-2948.76594011143
-5.97396220903192
« Последнее редактирование: 26 Мар 2020 [20:33:18] от Toth »
Canon PowerShot SX130 IS

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

  • Новичок
  • *
  • Сообщений: 8
  • Благодарностей: 0
  • Стыковка — это всегда событие
    • Сообщения от SoyuzDeveloperTeam
Re: Перевод элементов орбиты в J2000.0
« Ответ #5 : 27 Мар 2020 [02:22:17] »
Вот
Спасибо большое!!! Сейчас попробую!
Вопрос - почему наклонение в радианах? Ведь обычно везде в градусах, да и математическая модель что мне прислали просит вектор угловой скорости в радианах, но при этом везде вывод для пользователя на экран (да и ввод начальных условий) происходит в градусах.

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Перевод элементов орбиты в J2000.0
« Ответ #6 : 27 Мар 2020 [08:21:05] »
Градусы и радианы же между собой однозначно связаны, разве нет?
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Онлайн Toth

  • *****
  • Сообщений: 2 854
  • Благодарностей: 202
    • Сообщения от Toth
Re: Перевод элементов орбиты в J2000.0
« Ответ #7 : 27 Мар 2020 [09:21:39] »
Вопрос - почему наклонение в радианах?
Не только наклонение, но все остальные углы - w,node,M.
Можно конечно в чем угодно - в градусах, градах, оборотах. Просто в Паскале ( и в Си тоже, и в Excel ) у функций sin, cos, tg - аргумент в радианах.

То есть все равно переводить из градусов в радианы, при вводе.
Canon PowerShot SX130 IS