Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import numpy
  2. import matplotlib.pyplot as plt
  3. from matplotlib import animation
  4.  
  5. N_CIRCLES = 20
  6. N_FRAMES = 150
  7.  
  8. T_CIRCLES = numpy.linspace(0,10,N_CIRCLES)
  9. T = numpy.linspace(0,10,N_FRAMES)
  10.  
  11. fig = plt.figure(figsize=(3,3), dpi=100)
  12. ax = plt.axes(xlim=(-5,10), ylim=(-7.5,7.5))
  13.  
  14. emitter = plt.Circle((0,0),.3,color='k', )
  15. ax.add_patch(emitter)
  16.  
  17.  
  18. observer = plt.Circle((7,-2),.3,color='k', )
  19. ax.add_patch(observer)
  20.  
  21. def position(t):
  22.     return 2*t
  23.  
  24. plt.axis('off')
  25. circles = []
  26. for t_i in range(N_CIRCLES):
  27.     color='k'
  28.     if (t_i==0):
  29.         color = 'r'
  30.     elif (t_i==1):
  31.         color = 'b'
  32.     circles.append(plt.Circle((position(T_CIRCLES[t_i]),0),0,color=color, fill=False))
  33.     ax.add_patch(circles[-1])
  34.  
  35. def func(nframe):
  36.     print nframe
  37.     emitter.center = (position(T[nframe]), 0)
  38.     for t_i in range(N_CIRCLES):
  39.         circles[t_i].radius = max(0,T[nframe]-T_CIRCLES[t_i])
  40.     return circles[0], circles[1],
  41.  
  42. ani = animation.FuncAnimation(fig, func, N_FRAMES)
  43. ani.save('plotcircles.gif', writer='imagemagick', fps=25, dpi=100)
  44.  
  45. #plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement