为项目进行一些模拟。
我的问题是身体化合物的阻尼值是否具有pymunk空间的阻尼值(如果有的话)?
例如,如果我有一个pymunk空间,SPACE,SPACE.damping = 0.9然后我有一个body,BODY,我将其BODY.update_velocity()方法设置为阻尼值为0.5,将是BODY的阻尼为0.9 * 0.5(或其他一些成分)或是0.5?
如果我能够更清楚地表达我的问题,请告诉我,并提前感谢你。
答案 0 :(得分:1)
阻尼的使用方式如下:
damping = pow(space.damping, dt)
body.velocity = body.velocity * damping + (gravity + body.force / body.mass) * dt
body.angular_velocity = body.angular_velocity*damping + body.torque / body.moment * dt
您可以在此处找到步骤1和2的实际代码:https://github.com/viblo/pymunk/blob/master/chipmunk_src/src/cpSpaceStep.c#L399
第3步及第3步的代码4:https://github.com/viblo/pymunk/blob/master/chipmunk_src/src/cpBody.c#L494 (我在上面的答案中将源代码中的c代码翻译成python / pymunk术语)