我怎样才能找到一条线和一个三角形的三维网格之间的交点面?

62次浏览(过去30天)
大家好,
我有一个三维物体的三角化补丁。我已经有了矩阵,包含了网格的所有顶点和面。
在三维空间中设置一条线,我想要得到这条线与哪个面相交的下标。
更具体地说:
使用Triangle/Ray Intersection (https://ch.mathworks.com/matlabcentral/fileexchange/33073-triangle-ray-intersection)函数,我在网格上定义了一条垂直于其中一个三角形的射线。这条射线与三维物体相交于第二个三角形。我需要知道它在面阵f中的哪个三角形,以便计算物体的厚度作为两个面之间的距离。
谢谢你的帮助。
我希望这是清楚的。

接受的答案

Abhisek普拉丹
Abhisek普拉丹 2020年11月17日
1评论
埃米尔爪
埃米尔爪 2020年11月17日
谢谢你的帮助,我已经看到那个问题了。
最后,我设法解决了我的问题,使用上述两次引用的Triangle/Ray Intersection函数:一次是产生射线,第二次是在循环中。这个循环允许我一个三角形一个三角形地移动,并查看交集==1的位置。
这在计算上是相当繁重的(5分钟处理大约800.000个三角形),可能有一种更有效的方法,只使用引用的函数一次。

登录评论。

更多答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!