Matlab:3D曲面和曲线之间的交点

时间:2017-09-22 11:40:48

标签: matlab 3d intersection raytracing

我正面临使用MATLAB的光线追踪问题,现在我有点沮丧。我在3D空间中有一些定义表面的点。我使用Delaunay算法用matlab函数" trisurf"来表示小三维三角形。然后,我有我的" ray",这基本上是一个三维矢量。我的目标是找到此向量之间的交点(X,Y,Z)(即曲线,而不是直线)。在matlab中是否存在能够执行此操作的功能或任何人有任何建议?在此先感谢您的帮助,

莱昂纳多

1 个答案:

答案 0 :(得分:0)

  

我使用带有matlab函数“trisurf”的Delaunay算法用小三维三角形表示。

这听起来像是一个三角形网格。

  

我有“射线”,基本上是一个三维矢量。

光线是原点和方向,所以应该是两个矢量,而不是一个。

  

我的目标是找到此向量之间的交点(X,Y,Z)(即曲线,而不是直线)。

如果您有一组三角形和一条光线,那么您可以遍历所有三角形并对每个三角形执行光线/三角形相交测试。

交叉测试有许多算法。一个受欢迎的是Moeller-Trumbore