我正在尝试计算两点的碰撞法线。我需要这个用于碰撞响应方程来计算新的角速度和线速度。
例如,当两个2d或3d框的角相互碰撞时会发生这种情况。什么是他们的碰撞正常?
我现在认为,在顶点和面部碰撞的情况下,碰撞法线就是正常的面部。
答案 0 :(得分:2)
未定义。从技术上讲,碰撞法线应该是其配置空间障碍物表面的法线(即两个物体相交的所有变换的集合)。这是一个可能有帮助的互动演示:
http://www.pfirth.co.uk/minkowski.html
结果,如果对象不平滑,那么在边界上的不可微分点处将不存在明确定义的法线。相反,你得到一个可能正常的锥体。
^
|
| normal cone
|
----------+---->
~~~~~~~~~~|
~obstacle~|
~~~~~~~~~~|
因此,您可以将该锥体中的任何法线用作分隔两个对象的法线,例如:
^ ^
| /
| / possible normal
|/
----------+---->
~~~~~~~~~~|
~obstacle~|
~~~~~~~~~~|
现在,最小动作的原则指出,这里对运动的正确解决方案应该是正常的,这是最小的工作,这里的极值只是锥体的墙壁。这意味着在没有任何其他相互作用的情况下,我们可以假设冲击力在一个面的方向上。为了决定哪一个,行动原则再说你应该选择最不起作用的法线。为了解决这个问题,你只需计算两个面的碰撞响应,然后选择冲击力最小的面。