Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否在Pymunk中使用带空间阻尼的车身阻尼化合物?_Python_Pygame_Simulation_Pymunk - Fatal编程技术网

Python 是否在Pymunk中使用带空间阻尼的车身阻尼化合物?

Python 是否在Pymunk中使用带空间阻尼的车身阻尼化合物?,python,pygame,simulation,pymunk,Python,Pygame,Simulation,Pymunk,为一个项目做一些模拟 我的问题是物体的阻尼值和pymunk空间的阻尼值(如果有)是否相同 例如,如果我有一个pymunk space,space,space.damping=0.9,然后我有一个body,body,我将它的body.update_velocity()方法设置为阻尼值为0.5,那么body的阻尼是0.9*0.5(或其他组合)还是0.5 如果我能把问题说得更清楚,请告诉我,并提前向您表示感谢。减震器的使用方式如下: 步进空间(space.step)时,将使用的阻尼通过damping=

为一个项目做一些模拟

我的问题是物体的阻尼值和pymunk空间的阻尼值(如果有)是否相同

例如,如果我有一个pymunk space,space,space.damping=0.9,然后我有一个body,body,我将它的body.update_velocity()方法设置为阻尼值为0.5,那么body的阻尼是0.9*0.5(或其他组合)还是0.5


如果我能把问题说得更清楚,请告诉我,并提前向您表示感谢。

减震器的使用方式如下:

  • 步进空间(space.step)时,将使用的阻尼通过
    damping=pow(space.damping,dt)
  • 接下来,它将调用空间中每个物体的速度函数,传递步骤1中计算的阻尼(就在步骤1中阻尼计算的下方)
  • 默认速度函数执行此计算以设置速度:
    body.velocity=body.velocity*阻尼+(重力+body.force/body.mass)*dt
  • 这个用来设置角速度:
    body.angular\u velocity=body.angular\u velocity*damping+body.torque/body.moment*dt
  • 您可以在此处找到步骤1和2的实际代码:

    步骤3和步骤4的代码如下:
    (我在上面的回答中将源代码中的c代码翻译成python/pymunk术语)

    很有趣。谢谢你给我指出源代码。因此,我仍然不清楚:修改后的速度函数的阻尼值是否与空间相互作用。阻尼以任何方式(合成、乘以、添加等)存在?来自空间的阻尼传递到体速度函数中。若你们有一个自定义的速度函数,它完全取决于你们想要对传递进来的阻尼做什么。