我的问题是,是否可以运行Pymunk仿真而不需要弹出屏幕来可视化它?
我正在进行一个涉及Pymunk和Pygame的研究项目。目标是开发一个能够推断Pymunk空间中对象和代理的物理模拟的某些属性的代理。
项目的一部分需要比较许多不同的模拟,而每次模拟都弹出屏幕让我查看,这使得问题处理起来过于耗时(因为我必须查看每个模拟才能收集数据)。
我希望能够尽可能快地在后台运行每个模拟,只收集物理数据。我不需要在某些点上实际可视化这些模拟。
请告诉我我的描述是否足够清楚,或者这是否是一个重复的问题。尽管我在此处搜索了答案,但我没有找到任何答案。
回答:
Pymunk本身并不依赖于任何可视化。你可以通过space.step方法推进仿真,并且你可以根据需要调用它多次,例如用0.1的dt调用1000次来推进仿真100单位(秒)。
如果你想看到一些东西,你可以选择读取状态并在那个时间点进行绘制。
Pymunk提供的pygame集成只是为了那些想要快速简单地将东西显示在屏幕上的人。如果你不希望绘制任何东西,你绝对不需要使用它。
请注意,将space.step调用100次,每次的dt为0.01,与调用一次dt为1是不同的(后者会导致模拟精度大大降低)