最近在用opengl写一个小游戏,动画和人机交互都很简单,逻辑控制,边界问题都是目前的一个难题,正好找了几篇碰撞检测的资料,看着挺不错的
http://www.cppblog.com/mybios/archive/2006/11/19/15408.html(高级碰撞检测)
http://www.cnblogs.com/tinfish/archive/2012/03/21/2410474.html(分离轴理论)
http://blog.youkuaiyun.com/haochao/article/details/3917993
http://blog.youkuaiyun.com/shenlan282/article/details/7179575(三维)
三维:在求解碰撞法线、接触集合之前,得先确定长方体之间是否碰撞。一个相对简单的判断凸多面体相交性的方法是分离轴定理(SAT,Separating Axis Theorem)。直观来看,如果两个凸多面体不相交,那么必定存在一个空间平面,使得这两个多面体分别位于平面两侧。如果找不到这样的平面,那么可以判定其相交。这个情况等价于:如果能找到垂直于某个平面的直线,使得多面体在这条直线上的投影不相交,那么就可以判定多面体不相交;否则就相交。这条直线,就是分离轴。一般而言,检验多面体在直线上的投影,会比检验多面体是否位于平面两侧更加方便。
SAT是一种检测凸多边形相交的算法,他的内容是,如果