gpt4 book ai didi

python - Pymunk 中的每体阻尼与空间阻尼复合吗?

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:38 27 4
gpt4 key购买 nike

对项目进行一些模拟。

我的问题是物体的阻尼值是否与 pymunk 空间的阻尼值复合(如果有的话)?

例如,如果我有一个 pymunk 空间 SPACE,其中 SPACE.damping = 0.9,然后我有一个主体 BODY,我将其 BODY.update_velocity() 方法设置为采用 0.5 的阻尼值,那么 BODY 的阻尼值将是 0.5。阻尼是 0.9*0.5(或其他成分)还是 0.5?

请告诉我是否可以让我的问题更清楚,并提前谢谢您。

最佳答案

阻尼的使用方式如下:

  1. 步进空间 (space.step) 时,将使用的阻尼通过以下方式计算:damping = pow(space.damping, dt)
  2. 接下来,它将调用空间中每个物体的速度函数,并传入步骤 1 中计算出的阻尼(位于步骤 1 中的阻尼计算下方)
  3. 默认的速度函数执行此计算来设置速度:body.velocity = body.velocity * 阻尼 + (重力 + body.force/body.mass) * dt
  4. 这用于设置角速度:body.angular_velocity = body.angle_velocity*阻尼 + 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术语)

关于python - Pymunk 中的每体阻尼与空间阻尼复合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com