【发布时间】:2012-02-27 15:41:24
【问题描述】:
我选择为班级编写台球游戏。一切正常,但我想提高球碰撞的真实感。
对于每个球,我都有一个 pygame 矩形,即球的中心、球的直径和在比赛中的位置。还有一个速度向量(u_x, u_y)。
此时我用colliderect检查碰撞,但我可以改变它来测量中心球的距离。
我读过关于动量守恒方程的文章,但这没有考虑球的位置。不是同一个两球正面撞击比横向撞击。
有人可以帮助我考虑撞击时刻球位置的碰撞后新球速度的公式。非常感谢!
【问题讨论】:
-
@bart,谢谢,但我不明白
dot和boundary_normal。你从这个链接写python公式很容易吗? -
dot指的是dot product,boundary_normal是撞击点处的法线向量。 -
哦!好的。我知道如何计算点积,但是,如何从我的数据中获取法线向量?谢谢你的帮助,巴特。
-
bart,是一款经典的圆形台球。你有两个球的中心 (x,y) 和直径 (d)。
标签: collision-detection pygame