我有两个问题。
如何将pymunk旋转转化为真实的radians/sec.
来确定下落质量的x和y速度。
它与每秒的space.step()或帧有关吗?
发布于 2020-10-28 08:40:24
这里有一个关于Pymunk在docs:http://www.pymunk.org/en/latest/overview.html#mass-weight-and-units中使用的单位的简短解释。
通常,Pymunk不知道或不关心你使用什么单位,这取决于您建模您的模拟使用单位,有意义。您从Pymunk中读出的值将使用您输入的任何值的单位(或派生单位)。
例如:
在您执行space.step(0.01)
的代码中,Pymunk不知道这是否意味着0.01秒、0.01小时或其他什么。当涉及到位置时,情况也是如此。您可以使用body.position = 400,400
,但是Pymunk不知道给定的位置是以像素、米还是其他东西为单位的。这意味着,如果您确定对Pymunk使用的时间单位是秒,而距离的单位是像素,那么您可以通过body.velocity
获得的速度将是像素/秒([unit of distance]/[unit of time]
)。
在上述情况下,body.angular_velocity
为1rad/秒,body.velocity
以像素/秒为单位返回。但是请注意,您在屏幕上看到的内容并不完全匹配,因为您将0.01作为dt
放到了space.step(dt)
,但是绘图循环不一定每秒运行100次(使用PygameClock.tick(..)
方法限制循环是常见的)。
https://stackoverflow.com/questions/64541926
复制相似问题