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