移动圆圈弹性碰撞

时间:2018-04-20 20:39:28

标签: java collision-detection

我正在开发一个非常简单的物理引擎。 我必须计算一个圆圈在与另一个圆圈的弹性碰撞中的最终速度。每个圆圈具有特定的质量,半径和速度。

为了计算x和y速度,我求解了一个动量守恒和动能方程守恒的系统。

顺便说一下,这些方程不考虑圆的“形状”。

所以我通过找到2个圆相交的切线来计算回弹角。

现在我有两个不同的最终速度方向:一个用动量定律计算,另一个用反弹计算。

我不知道如何结合2种速度来获得最后一种

2 个答案:

答案 0 :(得分:0)

您需要计算X和Y方向的速度。

基本上,你要做的是计算碰撞的x分量的结果,y方向上碰撞的结果,然后将它们组合起来以找到合成的角度和速度。

这是一个常见的AP物理问题,所以你会在网上找到很多关于如何做的写作。这个看起来应该适合你:

http://spiff.rit.edu/classes/phys311.old/lectures/coll2d/coll2d.html

答案 1 :(得分:0)

我发现的解决方案是考虑我的2个圆周速度的正常和切向分量,而不考虑它们的X和Y分量。 通过这种方式,我可以应用与切线和法线相关的动量守恒定律,同时也可以考虑圆的几何形状。

本教程的最后一部分非常有用,即使我使用了不同的算法,也有一些不同的逻辑:https://www.youtube.com/watch?v=LPzyNOHY3A4

相关问题