日期:2014-05-20  浏览次数:20943 次

求教2个三角形之间怎么进行碰撞判断呀?
我自己觉得不管是钝角,还是锐角三角形,肯定都是要先都往最长边做垂线分成2个直角三角形再进行碰撞检测的吧?
求给一下碰撞检测的思路,要是有代码更好了

------解决方案--------------------
手动写的话就是个顶点判断了。
每个三角形都有3个顶点,判断三角形A是否重叠三角B,
循环判断A的3个顶点的X坐标是否在B的最大X顶点和最小-X顶点坐标之间,并且是否在B的最大Y顶点和最小-Y顶点坐标之间, 如果两项都符合他们就重叠碰撞了。三个顶点都得判断。
------解决方案--------------------
如果是一开始A和B就重叠,并且三个顶点也没在B之间,那就得多加一种情况的判断
A的最大X顶点和最小-X顶点(是否包含或者被包含)B的最大X顶点和最小-X顶点(横跨B三角形或者在它里面)并且A的最大Y顶点和最小-Y顶点(是否包含或者被包含)B的最大Y顶点和最小-Y顶点(横跨B三角形或者在它里面)
两项必须同时为包含或者被包含,就可以确定两个顶点之间的线是横跨了另外的三角形还是被包含在另外三角形里面。