Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Насчет логики. Сначала нужно пересчитать ВСЕ ускорения а ТОЛЬКО ПОТОМ — все скорости и координаты.
Нельзя считать одновременно ускорения, скорости и координаты в цикле по объктам, иначе новые значения координат будут влиять на ускорения других объектов.





%20%3D%20%5Cbegin%7Bbmatrix%7D%20k%20m_2%20%28x_1-x4%29%20%5C%5C%20k%20m_2%20%28x_2-x_5%29%20%5C%5C%20k%20m_2%20%28x_3-x_6%29%20%5C%5C%20k%20m_1%20%28x_4-x_1%29%20%5C%5C%20k%20m_1%20%28x_5-x_2%29%20%5C%5C%20k%20m_1%20%28x_6-x_3%29%20%5C%5C%20x_1%20%5C%5C%20..%20%5C%5C%20x_6%20%5Cend%7Bbmatrix%7D.gif)

Когда нам удастся разобрать этот случай, мы легко перейдем к сложным системам со взаимным влиянием звезд и планет друг на друга.
speed = math.sqrt(2.0 * planet.mass / math.hypot(planet.x - satellite.x, planet.y - satellite.y))
[Earth]
X=50
Y=370
Mass=81
[Moon]
X=30
Y=370
Mass=1
VX=0.0
VY=5.0
VX = Earth.VX = 0
VY = Earth.VY + sqrt(2.0 * Earth.mass / hypot(Earth.X - Moon.X, Earth.Y - Moon.Y)) = 8.16
ax = (сумма) M0 * (X0 - x) / r**3
ay = (сумма) M0 * (Y0 - y) / r**3
DIST MAX: 399.9574673146623
DIST MIN: 76.50692564029397
DIST MAX: 400.05701238567127
DIST MIN: 76.29682103619999
DIST MAX: 400.10700291341266
DIST MIN: 76.61843705129094
DIST MAX: 400.1784335186475
DIST MIN: 76.31096590098528
DIST MAX: 400.2307990384789
DIST MIN: 76.5429266917722
DIST MAX: 400.30332627343995
DIST MIN: 76.22592172937536
DIST MAX: 400.3598982590168
DIST MIN: 76.33347805866529
DIST MAX: 400.41598111793627
DIST MIN: 76.44551804585252
DIST MAX: 400.47259940381394
DIST MIN: 76.53783120028531
DIST MAX: 400.53049654382465
DIST MIN: 76.5940516130298
Создаем симулятор солнечной системы