雷/使用穆勒提出的算法和三角路口
Trumbore(1997),作为高矢量化MATLAB代码实现。
该算法可以处理1和2的表面,以及
无限的线,射线(一侧有界行)和部分(有界行
双方)。
输入(Nx3数组,其中N是顶点或射线):
源自:射线的来源
dir:射线的方向
vert0、vert1 vert2:三角形的顶点
输出:
相交——布尔数组的长度N
t -射线源的距离的交点| dir |
u, v -重心坐标交点的单位
xcoor——carthesian交点的坐标
除了PointInsideVolume 3 d相当于2 d inpolygon功能,可以测试
数组的点是内部或外部定义的任何卷表面网格。
引用作为
雅罗斯瓦夫Tuszynski (2023)。三角形/射线交点(//www.tianjin-qmedu.com/matlabcentral/fileexchange/33073-triangle-ray-intersection), MATLAB中央文件交换。检索。