我正在寻找一种方法来确定光线是否与三角形碰撞以及与3D中碰撞点的距离。确定光线是否与三角形碰撞并与碰撞点有距离,在3D中
如下面的代码或类似
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
在此先感谢的东西的方法!
哦,如果你现在想投我一票,请评论为什么让我知道我做错了什么。
我正在寻找一种方法来确定光线是否与三角形碰撞以及与3D中碰撞点的距离。确定光线是否与三角形碰撞并与碰撞点有距离,在3D中
如下面的代码或类似
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
在此先感谢的东西的方法!
哦,如果你现在想投我一票,请评论为什么让我知道我做错了什么。
Dan Sunday提供了一个algorithm和一个参考实现。如果预先计算了三角形的正常和,v
向量,则算法会简化为内部(点)产品。如果预先计算的u
,v
,n
被归一化,则存在进一步优化:即,<u,u> = <v,v> = 1
。
关于这个问题,在http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/以及一些示例代码有很好的报道。
试试看[GeometricTools](http://www.geometrictools.com/)。 – Angew 2013-03-23 17:27:54
你知道如何解决2D问题吗?也就是说,给定一个点和一个三角形的顶点,你能确定这个点是否在三角形内? – Beta 2013-03-23 17:29:15