两个碰撞的圆圈,无法将公式转换为代码

时间:2012-01-15 17:11:55

标签: c# wpf collision

我处于可以检测刚体2D物理程序中圆圈碰撞的水平。 这些圆圈具有随机的x,y速度。 当他们中的任何一个击中他们中的任何一个时,我可以告诉他们相互碰撞然后!这一步就是问题所在。 我试图获取速度的X和Y值并根据碰撞点的轴转换它,我的意思是法向力的轴和另一个与法向力轴相比的轴。 perpandacular轴称为切线轴...对吗?

我使用sin cos tan,但问题是因为s​​in cos tan只返回一个始终是右侧的角度,所以我的对象永远不会移动到左侧....所以所有的X轴的动量碰撞对象固定在右侧。 这导致了很多问题,我无法找到解决方法。 我会非常感激甚至很少的建议。 谢谢。

1 个答案:

答案 0 :(得分:1)

你不应该使用三角函数(sin,cos,tan等)。

您希望在碰撞方向上对物体施加脉冲,即脉冲是碰撞方向矢量的某个倍数。计算物体的动量,然后简单地添加脉冲。

如果你正在进行简单的弹性碰撞,那么动量和能量就会得到保留。鉴于这些限制,您可以计算出冲动。 This wikipedia article有详细信息。