снимок солнечной системы

Я работаю над небольшим проектом, в котором хочу смоделировать солнечную систему, чтобы научиться работать с Python и ООП.

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

РЕДАКТИРОВАТЬ: Я думаю, что что-то вроде скоростей в Апоцентре должно быть достаточно, чтобы вывести из него достаточно правильную орбиту, верно?

Я даже не знаю, существует ли что-то подобное и где это взять. Кто-нибудь знает что-нибудь об этом?

Если ваша цель — сосредоточиться на программировании, то использование высокоточных данных из какой-нибудь базы данных НАСА может оказаться излишним. В конечном итоге вы потратите больше времени на чтение снимка, чем на изучение того, что вы намеревались сделать. Просто возьмите набор эллипсов с эллиптичностью и ориентацией из Википедии и запустите планеты под случайным углом на этих орбитах.
@AtmosphericPrisonEscape Хм, с известными пери- и апоапсисом и средней орбитальной скоростью я, вероятно, смогу рассчитать начальную начальную точку со скоростью с приемлемой точностью.
Ну, есть и другие вещи, которые следует учитывать. А именно метод временного интегрирования орбит. Если вы не хотите вдаваться в теорию обыкновенных дифференциальных уравнений, то вы, вероятно, будете использовать решатель очень низкого порядка, и тогда вся точность пойдет в унитаз после первого временного шага. Думайте об этом как о буквальной цепочке методов, которые вы используете: самая слабая точность определяет общую точность. Поэтому, если вы не хотите улучшать всю науку сразу, вы можете оставить все очень простым.
@AtmosphericPrisonEscape Да, я знаю, что вы имеете в виду, но исправления числовых ошибок из-за размера шага - это проблема, которую я решу после того, как узнаю, с чего начать. У меня нет проблем с работой с дифференциальными уравнениями;)
Возможно, вы сможете «размонтировать» или лучше извлечь данные из бесплатного пакета Cekestia. .. просто идея.
astronomy.stackexchange.com/questions/13488 может быть полезным
@barrycarter Спасибо, я посмотрю на это.
@Alchimista Ты имеешь в виду Селестию? Я мог бы погрузиться в исходный код, вы правы, спасибо!

Ответы (1)

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

Вы также можете использовать JPL Horizons для создания одной или тысячи позиций тел Солнечной системы.

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

Большое спасибо, это именно то, что я искал.