为一个项目做一些模拟。
我的问题是身体的阻尼值是否与 pymunk 空间的阻尼值(如果有的话)复合?
例如,如果我有一个 pymunk 空间 SPACE,SPACE.damping = 0.9,然后我有一个主体 BODY,我将其 BODY.update_velocity() 方法设置为阻尼值为 0.5,那么 BODY 的阻尼是否为 0.9 *0.5(或其他一些成分)还是 0.5?
让我知道我是否可以让我的问题更清楚,并提前感谢您。
为一个项目做一些模拟。
我的问题是身体的阻尼值是否与 pymunk 空间的阻尼值(如果有的话)复合?
例如,如果我有一个 pymunk 空间 SPACE,SPACE.damping = 0.9,然后我有一个主体 BODY,我将其 BODY.update_velocity() 方法设置为阻尼值为 0.5,那么 BODY 的阻尼是否为 0.9 *0.5(或其他一些成分)还是 0.5?
让我知道我是否可以让我的问题更清楚,并提前感谢您。
阻尼是这样使用的:
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 步和第 4 步的代码:https ://github.com/viblo/pymunk/blob/master/chipmunk_src/src/cpBody.c#L494 (我将源代码中的 c 代码翻译成我的 python/pymunk 术语楼上回答)