SAT (Separating Axis Theorem) 分离轴定理
Godot 2D 默认的物理引擎采用sat算法判断碰撞,该算法认为只要找到一条分界线,能将a, b两个物体完全隔离,就能判断两者未碰撞。
以矩形间的碰撞为例,可以对a矩形的四条边进行分别判断,只要沿着边的方向,能找到一条线,把a和b完全分隔,就说明a, b两个矩形没有碰撞。判断4次,均没有碰撞,说明a, b两个矩形没有碰撞。
如果在某一条边的方向上,找不到分割线,说明a, b两者发生了碰撞,这时计算碰撞点,并返回碰撞点和重叠信息。