1import matplotlib.pyplot
as plt
3from mpl_toolkits.mplot3d
import Axes3D
4from matplotlib
import animation
10 with open(file, encoding=
"utf8")
as f:
14 xi,yi,zi = map(float, line.strip().split(
","))
22def update(num, lines, arr):
23 for line, a
in zip(lines, arr):
24 line.set_data(a[:2, num])
25 line.set_3d_properties(a[2, num])
30 plt.style.use(
"dark_background")
32 ax = fig.add_subplot(projection=
"3d")
35 arr = get_data([f
"output/p{i}_RK4.txt" for i
in range(100)])
41 lines = [ax.plot(*a[:,1],
"o")[0]
for a
in arr]
43 ax.set_xlim3d([-500.0, 500.0])
46 ax.set_ylim3d([-500.0, 500.0])
49 ax.set_zlim3d([-500.0, 500.0])
52 ani = animation.FuncAnimation(fig, update, N, fargs=(lines, arr),
57 ani.save(
"100_particles.gif", writer=animation.FFMpegFileWriter(fps=30))
61if __name__ ==
"__main__":