我正在寻找一种方法来确定光线是否与三角形碰撞并且与3D中的碰撞点相距距离。
类似下面的代码或类似的方法
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
提前感谢!
哦,如果你现在想投票给我,请评论为什么我知道我做错了什么。答案 0 :(得分:0)
在http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/上有一篇关于这个主题的非常好的文章,以及一些示例代码。
答案 1 :(得分:0)
Dan Sunday提供algorithm和参考实施。如果预先计算三角形的法线和u
,v
向量,则算法会缩减为内(点)乘积。如果对预先计算的u
,v
,n
进行了规范化,则会进一步优化:即<u,u> = <v,v> = 1
。