Я пытаюсь оживить траекторию снаряда, запущенного с начальной скоростью под начальным углом. Я попытался изменить код, найденный здесь: http://matplotlib.org/examples/animation/simple_anim.html
Мой код выглядит так:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
g = 9.8 #value of gravity
v = 20 #initial velocity
theta = 20*np.pi/180 #initial angle of launch in radians
tt = 2*v*np.sin(theta)/g #total time of flight
t = np.linspace(0, tt, 0.01) #time of flight into an array
x = v*np.cos(theta)*t #x position as function of time
line, = ax.plot(x, v*np.sin(theta)*t-(0.5)*g*t**2) #plot of x and y in time
def animate(i):
line.set_xdata(v*np.cos(theta)*(t+i/10.0))
line.set_ydata(v*np.sin(theta)*(t+i/10.0)-(0.5)*g*(t+i/10.0)**2)
return line,
#Init only required for blitting to give a clean slate.
def init():
line.set_xdata(np.ma.array(t, mask=True))
line.set_ydata(np.ma.array(t, mask=True))
return line,
ani = animation.FuncAnimation(fig, animate, np.arange(1, 200),
init_func=init, interval=25, blit=True)
plt.show()
Код, как показано, дает мне окно сюжета, но не траекторию и не анимацию. Я искал здесь, чтобы узнать, спрашивали ли об этом где-то еще, и я еще не нашел. Если это было задано, просто дайте ссылку на уже отвеченный вопрос. Любая помощь приветствуется. Спасибо всем.
animate()
иinit()
отсутствуют закрывающие скобки. Я также получаюAttributeError: 'FigureCanvasMac' object has no attribute 'copy_from_bbox'
иAttributeError: 'FigureCanvasMac' object has no attribute 'restore_region'
- person Reblochon Masque   schedule 26.09.2015