我在我的刚体2D物理程序中实现了圆的碰撞检测。这些圆具有随机的x、y速度。当它们中的任何一个碰到其他圆时,我就能知道它们正在相互碰撞。问题出在这里。我试图根据碰撞点轴的X和Y值进行转换,我的意思是法线力轴和垂直于法线力轴的另一个轴。垂直于法线力轴的轴被称为切向轴... 对吧?我使用sin、cos、tan函数,但问题在于由于这些函数总是返回正确的角度,我的对象永远不会向左移动...因此所有碰撞对象的X轴动量都固定在右侧。这导致了许多问题,我无法找到解决方法。我会非常感激您的任何建议。谢谢。
你不应该使用三角函数(sin,cos,tan等)。
你想要在碰撞方向上施加一个冲量,即冲量是碰撞方向向量的某个倍数。计算物体的动量,然后简单地添加冲量。
如果进行简单的弹性碰撞,则动量和能量是守恒的。在给定这些限制条件的情况下,可以计算出冲量。此维基百科文章有详细说明。