A A A A Автор Тема: Эфемериды DE-405.  (Прочитано 14096 раз)

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

Оффлайн CTAPbIu_MABP

  • Новичок
  • *
  • Сообщений: 7
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от CTAPbIu_MABP
Re: Эфемериды DE-405.
« Ответ #60 : 26 Мая 2014 [20:33:47] »
Не очень понятно про UTC, если я на сайте укажу 2000 январь 1 0 0 0 0 та разница с 1999 декабрь 31 15 50 0 0 приметрно 8 часов, ваш сервер стоит в Нью Йорке?
Я сказал про то, что WEB-форма на моем сервере воспринимает входную дату в формате UTC. Программы, воспринимающие UTC переводят эту дату и время в модифицированное юлианское представление. Учитывается два смещения: 32.184 c - эфемеридная поправка и 35 с (TAI-UTC).
Я хотел найти 8 часов ну да ладно не суть

Почитайте, что такое J2000
Пробовал вики но русскоязычная статья http://ru.wikipedia.org/wiki/J2000.0 не слишком многословна
другие источники скатываються в какието дебри формул

Возьмите мою программу LinOccult и посмотрите модуль, где читаются эфемериды.

спасибо, а как это скомпилировать, там ни инструкции ни makefile, хотя Денис вон разобрался)

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


мне захотелось сделать программу которая рисует такие гипотрохоиды
точность как понятно большая не нужна но проблема в базовых понятиях

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

Оффлайн phobos24

  • ***
  • Сообщений: 155
  • Благодарностей: 1
  • free(NULL);
    • Сообщения от phobos24
    • Домашняя страница
Re: Эфемериды DE-405.
« Ответ #61 : 27 Мая 2014 [13:51:49] »
такие кружева получаются в задаче трех тел при эксцентриситете равном нулю для всех тел

Оффлайн andyp

  • *****
  • Забанен!
  • Сообщений: 2 562
  • Благодарностей: 63
  • Мне нравится этот форум!
    • Сообщения от andyp
Re: Эфемериды DE-405.
« Ответ #62 : 27 Мая 2014 [17:13:04] »
> спасибо, а как это скомпилировать, там ни инструкции ни makefile, хотя Денис вон разобрался)

Есть там все. Ищите внимательнее.

Оффлайн CTAPbIu_MABP

  • Новичок
  • *
  • Сообщений: 7
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от CTAPbIu_MABP
Re: Эфемериды DE-405.
« Ответ #63 : 31 Мая 2014 [18:33:25] »
такие кружева получаются в задаче трех тел при эксцентриситете равном нулю для всех тел

спасибо, однако это не помогает перевести эфемириды в координаты, если вам не сложно напишите формулу

Оффлайн CTAPbIu_MABP

  • Новичок
  • *
  • Сообщений: 7
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от CTAPbIu_MABP
Re: Эфемериды DE-405.
« Ответ #64 : 01 Июн 2014 [22:17:45] »
пока получаеться вот это, дальше надо будет проверить где я и что напутал и дорисовать гипотрохоид

всем спасибо)

Оффлайн phobos24

  • ***
  • Сообщений: 155
  • Благодарностей: 1
  • free(NULL);
    • Сообщения от phobos24
    • Домашняя страница
Re: Эфемериды DE-405.
« Ответ #65 : 02 Июн 2014 [13:30:30] »
пока получаеться вот это

Сверьтесь с http://ssd.jpl.nasa.gov/horizons.cgi#top

Оффлайн CTAPbIu_MABP

  • Новичок
  • *
  • Сообщений: 7
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от CTAPbIu_MABP
Re: Эфемериды DE-405.
« Ответ #66 : 02 Июн 2014 [14:43:05] »
вот оно!

Оффлайн LeonidOS

  • Первооткрыватель комет, астероидов, сверхновых звезд
  • *****
  • Сообщений: 5 205
  • Благодарностей: 289
  • H15, Q60, N82, O75
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от LeonidOS
Re: Эфемериды DE-405.
« Ответ #67 : 02 Июн 2014 [21:53:38] »
Если все было ради этого, можно было и VSOP'ом воспользоваться. IMHO. С другой стороны научились пользоваться DE, поздравляю.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #68 : 03 Янв 2016 [05:58:21] »
Вопрос: если вычислять скорости через производные полиномов Чебышева с коэффициентами DE405, то в каких единицах получаются компоненты скорости? Что за загадочный множитель ~691000 выплывает?  :-\
« Последнее редактирование: 03 Янв 2016 [06:05:23] от Upsilon »

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #69 : 03 Янв 2016 [17:49:53] »
Ага, по-видимому скорость вычисляется в км. за половину подинтервала (для Земли подинтервал 16 дней).
Думаю, позже стоит описать алгоритм работы с эфемеридами с нуля, не только же я являюсь нелюбителем чужих черных ящиков.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #70 : 03 Янв 2016 [20:07:01] »
Тихо сам с собою я веду беседу  ;D.
Описание у DE405 какое-то куцее. Все дружно ссылаются на статью Стендиша, но все ссылки мертвенькие. Поэтому напишу сказку "DE405 для начинающих".

Файл ascp2000.405 состоит из блоков по 341 строк в каждом. Блок начинается со строки вида:
Цитата
1   1018 
                                                                 
Где первое число – номер блока, второе число – количество коэффициентов в блоке (неизменно).
Каждый блок содержит ряд коэффициентов для аппроксимации экваториальных прямоугольных координат (XYZ) планет Солнечной Системы  внутри 32-дневного интервала. Блок состоит из 340 строк по 3 коэффициента в строке, итого 1020 волшебных чисел, но два первых не используются.
Файл ascp2000.405 начинается не с 1 января 2000 г, как можно было бы подумать, а с 24.12.1999 0.0 UT.
Файл header.405 содержит в себе такую важную группу чисел:
Цитата
GROUP   1050
     3   171   231   309   342   366   387   405   423   441   753   819   899
    14    10    13    11     8     7     6     6     6    13    11    10    10
     4     2     2     1     1     1     1     1     1     8     2     4     4
Первая вертикальная тройка чисел (3, 14, 4) предназначается для Меркурия. Коэффициенты для Меркурия начинаются с 3-го коэффициента в блоке (и до 170, как можно догадаться), всего коэффициентов для каждой координаты 14, а блочный интервал  в 32 дня разбит на 4 подинтервала, то есть для каждого 8-суточного подинтервала свой набор коэффициентов.
Соответственно, номера коэффициентов для Венеры в блоке - с 171 по 230, по 10 коэффициентов на координату, подинтервалов 2 (каждый подинтервал = 16 дней).
И т.д.
Коэффициенты для тел располагаются в следующем порядке:
 Mercury,  Venus,  Earth-Moon barycenter,  Mars ,  Jupiter ,  Saturn,  Uranus,  Neptune,  Pluto,  Moon (geocentric),  Sun.

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #71 : 03 Янв 2016 [20:08:16] »
Очевидно, что первым делом нужно вычислить номер нужного блока:
Пусть
MD0 = MJD(1999,12,24) – начальная юлианская дата файла ascp2000.405
MD – нужная дата, на которую необходимо вычислить эфемериды.
Interval = 32 (длина интервала в сутках, во время которого действителен отдельный блок коэффициентов), константа
Номер блока:
NumerBlock=  Int((MD - md0) / Interval) + 1
Начальная дата нужного блока:
MD1 = MD0 + (NumerBlock - 1) * Interval

Затем возникает необходимость вычислить длину и номер подинтервала:
subInterval = Interval / Nset_Body     длина подинтервала в сутках
где Nset_Body – количество подинтервалов для конкретного тела (третья строка группы 1050 в header.405)
Количество полных подинтервалов в блоке до нужной даты:
podint = Int((MD - MD1) / subInterval) 
Начальная дата нужного подинтервала:
Mdat = MD1 + podint * subInterval
Сдвиг начала чтения коэффициентов с учетом подинтервала:
IndBegin = 3 * Nkoef_Body * podint
Где Nkoef_Body – количество коэффициентов для данного тела (вторая строка группы 1050 в header.405).

Заморочно, да. Можно записать всё это покомпактнее, но так более понятно.

Для примера возьмем Землю и захотим вычислить ее барицентрические координаты на 03.01. 2016  5:30 UT.
MD0 =  51536
MD =  57390.2299558333 (это заданная дата + 32.184 сек + TAI_UTC )
NumerBlock  =  183
MD1 =  57360  (183-ий блок начинается с этой даты)
subinterval  =   16 (для Земли Nset_Body = 2)
podint  =  1 (столько подинтервалов нужно пропустить)
Mdat  =   57376 (нужны коэффициенты 2-го подинтервала, который начинается с этой даты)
Из 183-го блока читаем коэффициенты с 231 по 308 (положение коэффициентов для Земли, первая строка группы 1050 в header.405), всего их 78, они принадлежат двум подинтервалам по 16 дней каждый. Нам нужны коэффициенты второго подинтервала.
IndBegin  =    39
Первые 39 коэффициентов пропускаем, и читаем оставшиеся:  kX(от 1 до 13) для X, kY(от 1 до 13) для Y, kZ(от 1 до 13) для Z.

Получили три комплекта чисел по 13 штук в комплекте. Теперь дело за полиномами Чебышева.
« Последнее редактирование: 03 Янв 2016 [20:22:38] от Upsilon »

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #72 : 03 Янв 2016 [20:10:04] »
Аргументом в полиномах Чебышева является нормированное время (от -1 до 1) внутри подинтервала:
tau = 2 * (MD - Mdat) / subInterval - 1
Для рассматриваемого примера  tau=  0.778744479166562

Коэффициентов 13 (для Земли), нужно 13 полиномов Чебышева.
p(1) = 1
 p(2) = tau
 p(i) = 2 * tau * p(i - 1) - p(i - 2)
И заодно 13 производных от полиномов Чебышева:
pt(1) = 0
 pt(2) = 1
 pt(i) = 2 * (p(i - 1) + tau * pt(i - 1)) - pt(i - 2)

Вычисляем координаты и скорости:
X = kX(1)*p(1) + … + kX(13)*p(13)
X’ = kX(1)*pt(1) +…  + kX(13)*pt(13)
Y =  kY(1)*p(1) + … + kY(13)*p(13)

В результате мы имеем X,Y,Z барицентрические  в километрах. Для перехода к гелиоцентрической системе координат нужно аналогично вычислить барицентрический вектор Солнца и взять разницу векторов. Для перехода в эклиптическую систему координату вектор необходимо соответственно развернуть. Для Луны вектор вычисляется геоцентрический .

Вычисленный вектор скорости нужно разделить на коэффициент koefVelocity = subInterval / 2 * 86400 (количество секунд в половине подинтервала), чтобы получить размерность км/сек.

Для рассматриваемого примера:
Барицентрический вектор положения  (-30121319.6,  132198969.6,  57283461.0)
Барицентрический вектор скорости ( -29.617,  -5.792,  -2.511)
Гелиоцентрический вектор положения (-30680782.2,  131994773.2,  57221236.6)
Гелиоцентрический вектор скорости  (-29.619,  -5.803,  -2.516)

Спасибо phobos24 за сайт http://www.kiam1.rssi.ru/~den/planet.html ,неоценимый при тестировании.

Оффлайн SpaceEngineer

  • *****
  • Сообщений: 2 465
  • Благодарностей: 202
    • Сообщения от SpaceEngineer
    • SpaceEngine - бесплатный космический симулятор
Re: Эфемериды DE-405.
« Ответ #73 : 08 Янв 2016 [01:09:55] »
Upsilon, спасибо за инфу, я как раз искал внятное обьяснение, как пользоваться DE405. Каков объём файлов? Реально ли их все загрузить в память и считать положение всех планет в реальном времени (60 раз в секунду)? На первый взгляд кажется, что реально. Всего лишь найти место в массиве, из которого читать коэффициенты, и посчитать полином. Ещё интересуют спутники планет. Насколько я понял, в DE405 их вообще нет (кроме Луны).
12" Meade LX200 GPS
Askar 120 APO / C9.25 EdgeHD @ ZWO AM5N
ASI 2600MM Pro, ASI 178MC-Cool
DeepSky 25x100, Olympus 10x50

Оффлайн Upsilon

  • *****
  • Сообщений: 518
  • Благодарностей: 245
    • Сообщения от Upsilon
Re: Эфемериды DE-405.
« Ответ #74 : 08 Янв 2016 [03:58:19] »
Файлы  ftp://ssd.jpl.nasa.gov/pub/eph/planets/ascii/de405/ разбиты на 20-летние интервалы, размер каждого файла - 6 Мб.
Спутники планет, возможно, есть здесь ftp://ssd.jpl.nasa.gov/pub/eph/satellites/

Оффлайн alvig

  • Новичок
  • *
  • Сообщений: 1
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от alvig
Re: Эфемериды DE-405.
« Ответ #75 : 17 Янв 2016 [06:13:50] »
Здравствуйте!
Помогите разобраться с получением либрации Луны по долготе из данных эфемерид.
Используя HORIZONS http://ssd.jpl.nasa.gov/horizons.cgi:
Ephemeris Type : OBSERVER
Target Body : Moon [Luna] [301]
Observer Location : Geocentric [500]
На момент, скажем, 2016-Jan-01 00:00 UTC получаю значение Obsrv-lon = 2.09607о
В HORIZONS на данный момент используются , как я понимаю, эфемериды DE431.

Далее, смотрю тот же момент времени в программе Virtual Moon Atlas http://ap-i.net/avl/en/download
Ephemeris: DE421
Observatory: Geocentric
2016-Jan-01 00:00 GMT
И получаю неожиданно большое расхождение: Libration in longitude = 1о52', разница почти 0,23о:-\ Причём для более ранних дат расхождение растёт.
Скажите, такая разница - это нормально и обусловлено использованием DE421 vs DE431, или я что-то не так делаю? Думаю второе, т.к. познания в вопросе у меня на уровне статей в вики.  :( Но где я тогда ошибаюсь и как получать правильные значения, помогите разобраться.
« Последнее редактирование: 17 Янв 2016 [10:51:35] от alvig »

Оффлайн filiasfox

  • Новичок
  • *
  • Сообщений: 37
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от filiasfox
Re: Эфемериды DE-405.
« Ответ #76 : 06 Авг 2019 [12:41:39] »
Добрый день
Возник некоторый вопрос по DE422. В принципе расчет для DE422 подобен DE405. Но проблема в следующем.
Попытался взять данные, чтобы сверить с horizons. Посчитал всё в соответствии с DE422 (и de431). И получил большое расхождение. Так как одна из координат фактически хорошо совпала (X), то можно сказать, что полином Чебышева считается правильно. Но никак не получается определить откуда вышла ошибка по координатам X и Y. В расчетах учитываются геоцентрическое положение Луны, положение барицентра Земля-Луна, расстояние между центром Солнца и барицентром СС и пр.

Данные по Horizons
2451627.500000000 = A.D. 2000-Mar-24 00:00:00.0000 TDB
X = 148845911.8608336
Y = 9522629.930547884
Z = 223.1131493640132

Данные, полученные из расчета
X=148845911.85422
Y=8736753.5629645
Z=3788089.1810086

Прошу подсказать, куда копать. Все коэффициенты из файлов DE были взяты корректно.


Онлайн Toth

  • *****
  • Сообщений: 2 817
  • Благодарностей: 197
    • Сообщения от Toth
Re: Эфемериды DE-405.
« Ответ #77 : 06 Авг 2019 [13:20:38] »
Проверьте по IMCCE. http://vo.imcce.fr/webservices/miriade/?forms
Там форма удобнее, чем в horizons. Мне по крайней мере, понятнее. Правда, там нет 423, только 403,405,406 , но они не сильно отличаются.
Получилось, что ваши расчетные - довольно близко , если перевести в км, то IMCCE -
148845911.8
8736754.053
3788089.117

Canon PowerShot SX130 IS

Оффлайн filiasfox

  • Новичок
  • *
  • Сообщений: 37
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от filiasfox
Re: Эфемериды DE-405.
« Ответ #78 : 06 Авг 2019 [13:58:40] »
Проверьте по IMCCE. http://vo.imcce.fr/webservices/miriade/?forms
Там форма удобнее, чем в horizons. Мне по крайней мере, понятнее. Правда, там нет 423, только 403,405,406 , но они не сильно отличаются.
Получилось, что ваши расчетные - довольно близко , если перевести в км, то IMCCE -

Спасибо. По крайней мере координату Y для Солнца удалось привести в соответствие с Horizons. Делением на косинус наклона земной оси соответствующих координат у Солнца относительно барицентра СС и Земли-Луны относительно барицентра СС. Осталос ьс последней координатой разобраться и понять, откуда еще вылезают неприятности в расчетах

Оффлайн filiasfox

  • Новичок
  • *
  • Сообщений: 37
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от filiasfox
Re: Эфемериды DE-405.
« Ответ #79 : 06 Авг 2019 [15:29:39] »
Проверьте по IMCCE. http://vo.imcce.fr/webservices/miriade/?forms

Не уверен, что там точность хорошая. Если посмотреть на равноденствия, например на весеннее 2019, и сделать разбивку по часам, что получится, что согласно этому сайту оно наступит 21 марта, около шести утра (UTC). Однако это событие было, если память не изменяет, 20 марта 21.58.

Относительно пресловутой координаты Z есть у кого идеи?