1.简介
分离轴理论,简称SAT(SeparatingAxisTheorem),通过判断任意两个凸多边形在任意角度下的投影是否均存在重叠,来判断是否发生碰撞。即两个不相交的多边形一定能找到一条轴,它们在这条轴上的投影不相交,可以理解为存在一个角度用电筒照这两个不相交多边形得到不相交的投影。此理论可以用于找到最小的渗透向量,此向量在物理模拟和其他很多应用中很有用。
注意:分离轴定理只适合凸多边形,所以如果是凹多边形的话需要转换成多个凸多边形。可以参考:二维多边形分解为凸块的库
2.分类
二维平面上常用的有三种:
2.1 球体
也就是将物体都等效为外接圆/外接球,利用球/圆来检测两个多边形是重合是及其方便的:圆心的距离和半径之和比较即可。
这种方法的优点缺点是如此明显:
优点:运算速度快
缺点:精度低
2.2 Axis Aligned Bounding Box(AABB)
从名称中大致能理解其中意思:沿着轴的包围盒子。也就是将物体用方形的盒子包围,这个方形的盒子的四条边都是和坐标轴平行的。
这种方法的相比于圆的碰撞检测,精度提高很多,