How can I find the intersection face between a line and a 3D mesh of trianlges?

조회 수: 29 (최근 30일)
Hello everyone,
I have a triangulated patch of a 3D object. I have the matrixes with all the vertixes and faces of my mesh.
Setting a line in the 3D space I would like to obtain the index of which face does my line intersect.
To be more specific:
Using the function Triangle/Ray Intersection (https://ch.mathworks.com/matlabcentral/fileexchange/33073-triangle-ray-intersection) I defined a ray normal to one of my traingles on the mesh. This ray is then intersecting my 3D object in a second triangle. I need to know which triangle is it in my matrix of faces 'f', in order to then compute the thickness of my object as distance of the two faces.
Thank you for any help,
I hope it is clear.

채택된 답변

Abhisek Pradhan
Abhisek Pradhan 2020년 11월 17일
  댓글 수: 1
Emile Talon
Emile Talon 2020년 11월 17일
Thanks for your help, I had seen that question.
At the end I managed to solve my problem, using the function Triangle/Ray Intersection cited above twice: once to originate the rays and a second time in a loop. This loop allows me to go traingle by triangle and see where Intersection ==1.
This is computationally quite heavy (5mins for more or less 800.000 triangles), probably there is a more efficient way that involves the use of the cited function only once.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by