我正在尝试使用ffmpeg保存一个简单的动画.我按照教程安装ffmpeg,现在我可以从命令提示符访问它.
现在我运行这段代码:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
def init():
line.set_data([], [])
return line,
def animate(i):
x = np.linspace(0, 2, 1000)
y = np.sin(2 * np.pi * (x - 0.01 * i))
line.set_data(x, y)
return line,
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=200, interval=20, blit=True)
mywriter = animation.FFMpegWriter()
anim.save('mymovie.mp4',writer=mywriter)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "<stdin>", line …Run Code Online (Sandbox Code Playgroud) 我想建立一个程序,让用户绘制一个机翼轮廓,然后对该轮廓周围的空气进行实时模拟.计算将在GPU上完成.
我为这个程序做了一个设计,你可以在这个丑陋的MS Paint绘图中看到:
着色器程序2使用纹理1,它是粒子网格,进行碰撞检测,并将其渲染到纹理2.然后程序1使用更新的网格,计算时间步长,并将其渲染为帧缓冲对象1中的纹理1.偶然程序3将此纹理渲染到屏幕上.
我失去了以一种不完全停止gpu的方式将信息传回客户端的步骤.我唯一想回来的就是机翼上产生的升力.每当粒子与机翼碰撞时,它就会将动量传递给机翼.我需要一种方法来添加所有那些微小的动量,并在多个帧上计算机翼上的平均力.