1

我目前正在制作一个 2D 台球游戏,我必须使用真实的物理模拟。到目前为止,我已经完成了圆形碰撞和弹性碰撞,但是我想要一个可以找到碰撞响应速度的公式,当球在不同点与其他球碰撞时会有所不同,这要提前感谢。

4

2 回答 2

3

有很多方法,但如果你能负担得起让球重叠一点(也就是说,让球的一部分“进入”另一个球),你可以把它变成一个弹簧阻尼系统并用胡克定律解决。

由于胡克定律给了你力量,你需要整合它才能找到动力。动量除以质量就是您要寻找的速度。

看看这个用于游戏开发的优秀弹簧物理介绍(其中也有他的数值积分介绍的链接)。

编辑:如果您正在寻找实用的解决方案,我建议您使用Box2D 物理引擎

于 2013-02-15T05:23:02.447 回答
0

池碰撞可以被认为是整个板的弹性碰撞,摩擦减慢了它的运动。

不要以与圆的角度来考虑碰撞响应。使用向量将缓解这个问题。

圆-圆碰撞速度响应很容易: 1. 检测到碰撞时 2. 求出球朝向另一个球的法向速度。3. 交换两个球之间的法线速度 4. 求解 x 和 y 方向的速度

一个非常有用的网站,可以根据向量找到速度响应:http: //archive.ncsa.illinois.edu/Classes/MATH198/townsend/math.html

于 2013-02-17T21:30:03.727 回答