2013-03-23 62 views
-1

我正在寻找一种方法来确定光线是否与三角形碰撞以及与3D中碰撞点的距离。确定光线是否与三角形碰撞并与碰撞点有距离,在3D中

如下面的代码或类似

float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3) 
    { 
    } 

在此先感谢的东西的方法!

哦,如果你现在想投我一票,请评论为什么让我知道我做错了什么。

+1

试试看[GeometricTools](http://www.geometrictools.com/)。 – Angew 2013-03-23 17:27:54

+0

你知道如何解决2D问题吗?也就是说,给定一个点和一个三角形的顶点,你能确定这个点是否在三角形内? – Beta 2013-03-23 17:29:15

回答

0

Dan Sunday提供了一个algorithm和一个参考实现。如果预先计算了三角形的正常和,v向量,则算法会简化为内部(点)产品。如果预先计算的u,v,n被归一化,则存在进一步优化:即,<u,u> = <v,v> = 1