Вы можете с целлулоидом , но одной ценой является вычислительная неэффективность.
В начале импортируйте целлулоид и сконструируйте камеру.
from celluloid import Camera
fig = plt.figure(figsize=(10, 10))
camera = Camera(fig)
plt.xlabel(r"$x(m)$")
plt.ylabel(r"$y(m)$")
plt.title("Numerical Simulation of Newton's Law of Universal Gravitation")
Просто делайте точечные диаграммыв нижней части цикла for и снимков «snap».
plt.scatter(x_11, x_12, s=300, color='darkorange')
plt.scatter(x_21, x_22, s=200, color='royalblue')
camera.snap()
После завершения цикла for сохраните анимацию.
camera.animate().save('orbit.mp4')
Обратите внимание, что вы, вероятно, захотите увеличитьdt
в противном случае это займет много времени.Я оставлю это в качестве упражнения, чтобы добавить легенды.