Все, что вам нужно:
a = F / m = -GM r / r ^ 3
где r - радиальный вектор для массы m
из Сферы массы M
, а G - гравитационная постоянная.
Вам не обязательно много библиотекиинтегрировать это.Вы можете просто вычислить ускорение для каждого временного шага.Единственный момент в том, что вы получите намного лучший результат (например, замкнутые орбиты!), Если для каждого шага вы сначала вычисляете приблизительную новую позицию, а затем вычисляете ускорение для местоположения в средней точке временного шага изатем используйте это, чтобы определить новую позицию и скорость.