球与球: 用球心的距离差与半径和比较判断, 为了减少开平方的开销, 通常直接对比平方的结果
AABB与AABB: 检测无交叉速度更快, 以下四个条件(2D形式)只要满足了一个就能返回当前AABB无交叉...注意这里t的求解式中, 要通过提前判断v与n是否平行来排除除零异常(平行时, 带入判断线段的点是否在平面上)
线段与三角面: 先判断是否与三角面形成的平面相交, 然后判断这个交点是否在三角形内....这个算法可以推广到所有同平面的凸多边形, 同向判断通常以点乘后的正负号来判断
球与平面: 最简单的方法就是计算球心在目标平面法线n方向上到原点的距离dC, 然后计算目标平面到原点的距离d, 两者相减的绝对值小于球半径那么存在相交...胶囊与胶囊(球形扫掠体): 主要用于例如子弹检测的连续碰撞检测(CCD)情况....t较小的那个时间点T, 那就是碰撞开始时的时间点, 用T计算出碰撞时的速度
然后利用T时两个球的坐标, 按照其半径线性插值就能得到精确的碰撞点, 然后这两个球心的连线就是切平面的法向量线, 借助这个创建碰撞点上的切平面