返回介绍

3.7 生成动画或视频文件

发布于 2023-08-12 23:09:31 字数 829 浏览 0 评论 0 收藏 0

除了显示画布的 show 方法,wxgl.App 还提供了保存画布的 savefig 方法。savefig 不仅可以将当前 OpengGL 缓冲区的内容保存为.png 或.jpg 类型的图像文件,还可以生成.gif/.webp/.mp4/.avi 等动画或视频文件。 下面这段代码绘制了一大一小两个自转的圆球,小球同时围绕大球公转。运行代码,将会生成每秒 25 帧共计 200 帧的 mp4 格式的视频文件。

import wxgl

tf_1 = lambda t:((0, 1, 0, (0.01*t)%360),) # 大球自转速度 10°/s

def tf_2(t):
    theta = -(0.05*t)%360 # 小球公转和自转都是-50°/s
    rotate = (0, 1, 0, theta) # 小球自转
    theta = np.radians(theta) # 角度转弧度
    r = 1 # 小球公转半径
    shift = (r*np.cos(theta), 0, -r*np.sin(theta)) # 小球公转
    
    return (rotate, shift)

app = wxgl.App()
app.sphere((0,0,0), 0.8, fill=False, transform=tf_1)
app.sphere((0,0,0), 0.2, fill=False, transform=tf_2)
app.savefig('capture/revolve.mp4', fps=25, frames=200)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文