首页 > 解决方案 > 有没有办法预渲染 VPython 动画以使其运行更流畅?

问题描述

我有一个动画,它使用 sgp4 绘制了地球周围大约 3000 颗卫星的所有位置。这 3000 颗卫星的位置每秒计算一次,然后进行动画处理,每秒从卫星上计算出地球上的经度和纬度也使用 ephem 计算。我想在地球周围绘制这些位置,以便在现实生活中的一秒钟内,您可以看到 3000 颗卫星在周围移动 5 分钟左右。地球和卫星的动画是使用 VPython 制作的。

然而,这个过程非常缓慢。有没有办法让我的电脑在播放之前渲染动画,这样我可以更流畅地播放动画?我考虑过添加“等待点击”,然后在渲染完所有内容后截取屏幕截图,但完成我的动画需要大约 7200 个屏幕截图。这会是一个更好的解决方案吗?如果是这样,是否有可以为我执行此操作的程序?

谢谢

标签: python-3.xvpython

解决方案


查看 vpython FAQ 对问题的回答 Q:有没有办法将 VPython 图形输出捕获为电影?

https://vpython.org/contents/FAQ.html

要查看 vpython 如何使用 1000 个对象执行运行动画,请参见此处的 vpython 演示程序 RotatingCubes-VPython

https://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/program/RotatingCubes-VPython

该程序使用glowscript vpython,它将vpython编译为javascript并在网页中运行。您获得的性能将取决于您的计算机的速度。如果您复制该程序并将立方体的数量从 10x10x10 = 1000 增加到 14x14x14 = 2744,那么您可以在 Glowscript 创建一个免费帐户并在那里运行您修改后的程序。您也可以尝试在您当前的 vpython 环境中运行此演示程序,只需将程序的第一行替换为 "from vpython import *" 即可。

约翰


推荐阅读