Не ответ , так как я не эксперт в этом вопросе, а только некоторые подсказки (было невозможно прочитать в форме комментария)
Материал, который вы хотите добавить, вполнесложный , так как вам нужно было бы принять во внимание:
движущиеся массы обоих тел
, поэтому вам нужно "превышение контактных поверхностей"тело, которое имеет какие-либо движущиеся массы (такие как океаны, магма, вращающееся ядро и т. д.), так что вы можете вычислять реальный центр тяжести каждый раз.Также вам нужно приложить силы и к самой движущейся массе (которая движется не только гравитацией и вращением, но также резонансом и в основном инерцией), не забывайте, что у Земли есть также ядро и магма вокруг нее, а не только океаны, поэтому вам нужно принять во вниманиеучитывать как минимум 3 поверхности ...
неоднородность распределения массы обоих тел
, чтобы вы могли вычислить центр тяжести, иквадратичная инерция массы для вращений относительно фактической оси вращения
планета / луна обычно составляет не менее 3 проблем тела, а не только 2
, поскольку существуетЯвляется ли местная звезда слишком сильно влияющей на орбиту Луны ...
В зависимости от чисел некоторые эффекты будут настолько малы, что их можно будет отбросить, но некоторые - нет (особенно с инерцией +резонанс на месте).
Уравнения вращения похожи на положение / скорость / ускорение, как вы уже получили.Она называется интеграция Ньютона Даламбера / физика , но для этого вам потребуется реализовать матрицы преобразования .
См. Несколько связанных QAs :
Обратите внимание наПоследняя ссылка для повышения точности вашей интеграции, так как сейчас она очень плохая, и орбита будет деформирована независимо от того, насколько мал dt
из-за того, что вектор гравитации изменяется со временем, но сейчас вы воздействуете на него в неправильном направлении (то естьисправлять только в начале интервала dt) для каждой итерации интеграции.
Как вы можете видеть, это очень много вещей для обработки, и большинство программ моделирования, которые я видел, не делают этого (включая мою) ... онивместо этого имитируйте его константами нутации и прецессии.