intersection of two triangles

Hi,
I have 2 triangles and I would like to know if they are inside each others or they intersect. Like the picture How I can do that ? I read about polyxpoly but to be honest I don't understand how to use it in this scenario.

 Accepted Answer

% this define the vertexes (x,y) of first triangle
trian1x =[ 0 0.5 1 0];
trian1y =[ 0 1 0 0];
% this define the vertexes (x,y) of second triangle
trian2x =[ 0 0.25 0.5 0];
trian2y =[ 0 0.5 0 0];
% (xi,yi) are the intersection points
[xi,yi] = polyxpoly(trian1x,trian1y,trian2x,trian2y,'unique');
figure,
plot(trian1x,trian1y,'b')
hold on
plot(trian2x,trian2y,'r')
hold on
plot(xi,yi,'*g')

5 Comments

Sososasa
Sososasa on 3 Apr 2014
Edited: Sososasa on 3 Apr 2014
Hi Marta,
This gives me the intersection points even when one triangle is lie inside the other. And I only need to get the intersection points if one of them is not contained inside the other.
If I get the intersection point in both situations, then I can not decide if one of them is actually inside the other or not.
Marta Salas
Marta Salas on 3 Apr 2014
Edited: Marta Salas on 3 Apr 2014
You can decide whether it's inside or not checking if the intersection points correspond to the triangle vertexes.
Yap I did that thanks a lot :)
Hi If I have the vertexes of two triangles, how can I check if they intersect or not? I need a function that just gives me true if they intersect and false if not. Thanks
what if there are no intersection points but the triangle is completely inside the other triangle?

Sign in to comment.

More Answers (1)

Rushabh Khattri
Rushabh Khattri on 22 Aug 2017
I am getting this error :- Undefined function 'polyxpoly' for input arguments of type 'double'.

2 Comments

The first point to start is asking an internet search engine for this term: "Matlab polyxpoly". You will find out, that this command belongs to the Mapping Toolbox: https://www.mathworks.com/help/map/ref/polyxpoly.html. It seems like you do not have a license for this toolbox and then you need a different solution. Please open a new thread then.
This is not an answer. It is only a new question, but resurrecting a zombie question, that is only partially related.

Sign in to comment.

Categories

Products

Community Treasure Hunt

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

Start Hunting!