Separating Axis Theorem(SAT)

参考 http://www.dyn4j.org/2010/01/sat/

SAT: 用来判断两个Convex是否相交。同时可以找到而者minimum penetration vector。

  • 凹多边形可以拆成多个凸多边形
  • 如果能找到一个Axis,两个convex的投影不交叉,那么这两个convex也不会intersect
  • 两个convex不intersect的充要条件是 所有axis上的投影都不交叉。也就是说,如果只要有一个axis上投影不交叉,那么就不会intersect
  • “所有的Axis”怎么找:二维情况下,就是多边形每条边的法线。
  • 根据投影可以计算出一个距离,挪动这个距离而者会分块。

如何判断一个矩形是否和一个圆相交。

 

posted @ 2020-02-11 18:08  redips  阅读(313)  评论(0编辑  收藏  举报