碰撞正常两点

时间:2011-06-26 17:53:36

标签: collision-detection collision

我正在尝试计算两点的碰撞法线。我需要这个用于碰撞响应方程来计算新的角速度和线速度。

例如,当两个2d或3d框的角相互碰撞时会发生这种情况。什么是他们的碰撞正常?

我现在认为,在顶点和面部碰撞的情况下,碰撞法线就是正常的面部。

1 个答案:

答案 0 :(得分:2)

未定义。从技术上讲,碰撞法线应该是其配置空间障碍物表面的法线(即两个物体相交的所有变换的集合)。这是一个可能有帮助的互动演示:

http://www.pfirth.co.uk/minkowski.html

结果,如果对象不平滑,那么在边界上的不可微分点处将不存在明确定义的法线。相反,你得到一个可能正常的锥体。

          ^
          |
          |  normal cone
          |
----------+---->
~~~~~~~~~~|
~obstacle~|
~~~~~~~~~~| 

因此,您可以将该锥体中的任何法线用作分隔两个对象的法线,例如:

          ^   ^
          |  /
          | /  possible normal
          |/
----------+---->
~~~~~~~~~~|
~obstacle~|
~~~~~~~~~~| 

现在,最小动作的原则指出,这里对运动的正确解决方案应该是正常的,这是最小的工作,这里的极值只是锥体的墙壁。这意味着在没有任何其他相互作用的情况下,我们可以假设冲击力在一个面的方向上。为了决定哪一个,行动原则再说你应该选择最不起作用的法线。为了解决这个问题,你只需计算两个面的碰撞响应,然后选择冲击力最小的面。