在3D中确定光线是否与三角形和碰撞点的距离发生碰撞

时间:2013-03-23 17:24:41

标签: c++ 3d raytracing

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

类似下面的代码或类似的方法

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

提前感谢!

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

2 个答案:

答案 0 :(得分:0)

http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/上有一篇关于这个主题的非常好的文章,以及一些示例代码。

答案 1 :(得分:0)

Dan Sunday提供algorithm和参考实施。如果预先计算三角形的法线和uv向量,则算法会缩减为内(点)乘积。如果对预先计算的uvn进行了规范化,则会进一步优化:即<u,u> = <v,v> = 1