我正在制作一个2D池游戏,我必须使用真实物理模拟。到目前为止,我已经完成了圆形碰撞和弹性碰撞,但是我想要一个可以找到碰撞响应速度的公式,当一个球在不同点与另一个碰撞时,它会有所不同。
答案 0 :(得分:3)
有许多方法,但是如果你能负担得起球重叠一点(也就是说,让球的一部分“进入”另一个)你可以把它变成一个弹簧阻尼系统并用{求解} {3}}
由于胡克定律为你提供了力量,你需要将它整合起来才能找到动力。动量除以质量就是你要寻找的速度。
看一下Hooke's law优秀的弹簧物理介绍,以便进行游戏开发(还有一个关于数值积分介绍的链接)。
编辑:如果您正在寻找实用的解决方案,我建议使用this。
答案 1 :(得分:-1)
游泳池碰撞可被视为整个板块的弹性碰撞,摩擦会减慢其移动速度。
不要认为碰撞响应与圆的角度有关。使用向量可以缓解这个问题。
圆圈碰撞速度响应很简单: 1.检测到碰撞时 2.使球的正常速度朝向另一个球。 3.交换两个球之间的法向速度 4.解决x和y方向的速度
一个非常有用的网站,可以根据向量找到速度响应:http://archive.ncsa.illinois.edu/Classes/MATH198/townsend/math.html