为什么第二个歧管点在识别二维碰撞?

在二维空间中,我可以看到一个盒子如果只从一个侧面被推倒,如果一个盒子从其正确的质心推出,它不应该旋转。

那么为什么Box2D物理引擎需要两个stream形点(见b2Manifoldb2_maxManifoldPoints )呢? 不应该只有一个点(位于两点之间的位置),并且可能在多方面的信息中有一个不旋转的位,就足以得到与最多两点一样好的模拟结果?

其他物理引擎用于2D空间的点数有多less?

在3D中,我可以看到最多有两个点是有用的,因此可以对点或边缘碰撞进行建模,也可能再次对面部碰撞使用不旋转位。

我只是使用一个stream形点和可能的一点标志(以及最多2个点和一个标志位的三维碰撞)来模拟我所缺less的或者二维的碰撞。