How do i find the intersection point between a line and a patch?

Hello,
In order to find the intersection between a line and a patch object, I typed :
[p1 p2 p3] = deal([1 0 0],[0 1 0],[0 0 1]); % creating 3 points that define a triangle
G = [1/3 1/3 1/3];
origin = [0 0 0];
P = [G',origin'];
l = line(P(1),P(2),P(3)); %the line I'm studying
obj = patch('Faces',[1 2 3],'Vertices',[p1;p2;p3]); %my patch object for simplification
I = intersect(p,l);
The problem is that the intersection I is a 1x0 patch with empty properties.

3 commentaires

You have a line and plane. Just find intersection between them
I get that you can do that for a triangle, but what if I have a more complex polygon? In fact I want to use this on an object made of 8000 faces and calculating the intersection between lines and each faces takes 60s.
Try function from fileexchange: LINK

Connectez-vous pour commenter.

Réponses (0)

Commenté :

le 20 Nov 2019

Community Treasure Hunt

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

Start Hunting!

Translated by