引言
射线Ray,在3D图形学中有很多重要的应用。比如,pick操作就是使用射线Ray来实现的,还有诸如子弹射线的碰撞检测等等都可以使用射线Ray来完成。所以,在本次博客中,将会简单的像大家介绍下,如何进行Ray-Triangle的交叉检测。
Ray-Triangle交叉检测算法
在Tomas Moller的MT97论文中,提出了一种新的算法。这种算法能够减少以前进行Ray-Triangle交叉检测所需要的内存消耗。在以前,进行Ray-Triangle交叉检测,主要是计算射线与三角形所构成的平面的交点,然后重新判断交点是否在三角形上,从而来判断是否发生了交叉。这种方法很直观,符合我们一直以来所学的数学知识。但是,这种检测方法进行的计算较多,而且还需要根据三角形来求它所在的平面,这样又需要进行计算,同时也需要另外开辟空间来保存计算出来的平面。
数学之美,就在于能够找到其他的方法来代替这种显而易见的方式,从而将问题简