1

我的问题是,是否可以在不弹出屏幕的情况下运行 Pymunk 模拟?

我正在从事一个涉及 Pymunk 和 Pygame 的研究项目。目标是开发一种代理,该代理可以推断涉及 Pymunk 空间内的对象和代理的物理模拟的某些属性。

项目的一部分需要对许多不同的模拟进行比较,并且弹出一个屏幕以便我可以查看每个模拟的事实导致问题花费太多时间(因为我必须查看每个模拟才能从中收集数据)。

我想基本上在后台尽可能快地运行每个模拟,以收集物理数据。我不需要在某些点实际可视化模拟。

让我知道我是否已经足够清楚或者这是重复的。虽然,我在这里搜索了答案,但我没有找到答案。

4

1 回答 1

2

Pymunk 本身不依赖于任何可视化。您可以使用 space.step 方法将模拟向前移动,并且您可以根据需要多次调用它,例如 1000 次,dt 为 0.1 以将模拟向前移动 100 个单位(秒)。

如果你想看到一些东西,你可以选择读出状态并在那个时候画出来。

pymunk 提供的 pygame 集成仅适用于那些想要快速简便地在屏幕上显示内容的人。如果你不想画任何东西,你绝对不需要使用它。

请注意,使用 0.01 的 dt 调用 space.step 100 次并使用 1 的 dt 调用它是不一样的(后者将给出更不准确的模拟)

于 2017-05-19T00:29:22.520 回答