ВНИМАНИЕ! На форуме началось голосование в конкурсе - астрофотография месяца АПРЕЛЬ!
0 Пользователей и 1 Гость просматривают эту тему.
Если посмотреть на равноденствия
Равноде́нствие — астрономическое явление, когда центр Солнца в своём видимом движении по эклиптике пересекает небесный экваторОтсюда - https://ru.wikipedia.org/wiki/РавноденствиеТо есть, когда дельта = 0Из IMCCE -
Я там подчеркнул , что ApparentOfDate, у вас наверное MeanJ2000.
Но вопрос относительно координаты Z остался.
А что Z - у вас по нему расхождение с IMCCE-405 всего 64 метра. Вот у Y - 490 м, но и это не так уж много.Я не знаю , какая разница между 405 и 423, может быть примерно такая и есть.
Вот, NASA , правда там сейчас DE431 -
То есть как увязать время наступления равноденствия согласно этим насовским данным и тому, что есть?
Так же, как я и говорил. MeanJ2000-->ApparentOfDateТо есть учесть прецессию, нутацию, аберрацию, световременную коррекцию.
То есть учесть прецессию, нутацию, аберрацию, световременную коррекцию.
Попробуйте вместо вектора положения выбрать наблюденияPS Target Body - конечно Sun, центр. И т.д. , то что вам надо.
Очевидно, что первым делом нужно вычислить номер нужного блока:Пусть MD0 = MJD(1999,12,24) – начальная юлианская дата файла ascp2000.405MD – нужная дата, на которую необходимо вычислить эфемериды.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 штук в комплекте. Теперь дело за полиномами Чебышева.