Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy
- import matplotlib.pyplot as plt
- from matplotlib import animation
- N_CIRCLES = 20
- N_FRAMES = 150
- T_CIRCLES = numpy.linspace(0,10,N_CIRCLES)
- T = numpy.linspace(0,10,N_FRAMES)
- fig = plt.figure(figsize=(3,3), dpi=100)
- ax = plt.axes(xlim=(-5,10), ylim=(-7.5,7.5))
- emitter = plt.Circle((0,0),.3,color='k', )
- ax.add_patch(emitter)
- observer = plt.Circle((7,-2),.3,color='k', )
- ax.add_patch(observer)
- plt.axis('off')
- circles = []
- for t_i in range(N_CIRCLES):
- color='k'
- if (t_i==0):
- color = 'r'
- elif (t_i==1):
- color = 'b'
- circles.append(plt.Circle((2*T_CIRCLES[t_i],0),0,color=color, fill=False))
- ax.add_patch(circles[-1])
- def func(nframe):
- print nframe
- emitter.center = (2*T[nframe], 0)
- for t_i in range(N_CIRCLES):
- circles[t_i].radius = max(0,T[nframe]-T_CIRCLES[t_i])
- return circles[0], circles[1],
- ani = animation.FuncAnimation(fig, func, N_FRAMES)
- ani.save('plotcircles.gif', writer='imagemagick', fps=25, dpi=100)
- #plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement