Effacer les filtres
Effacer les filtres

How to find the vertices of a trinagle given points on the triangle?

2 vues (au cours des 30 derniers jours)
Emmanuel
Emmanuel le 28 Mai 2014
Commenté : Emmanuel le 29 Mai 2014
I have been given 6 points where 2 points define a side of the trianglee. how can I obtain the vertices of triangle?

Réponses (2)

Matt J
Matt J le 28 Mai 2014
Meaning the 6 points consist of duplicates of the vertices? If so, this looks applicable
  5 commentaires
Matt J
Matt J le 28 Mai 2014
Modifié(e) : Matt J le 28 Mai 2014
Are the red points located at the vertices or just at arbitrary locations on the edges? Do you know which pairs of red points belong to the same edge of the triangle?
Emmanuel
Emmanuel le 28 Mai 2014
yes! red points ar enot locate don the vertices , but on the sides of the triangle.Every side of the triangle will pass through the red points. One side has two red points, so d whole triangle will have six red points. Using these red points, I have to create the lines, and then form a triangle and find the vertices.

Connectez-vous pour commenter.


Matt J
Matt J le 28 Mai 2014
Modifié(e) : Matt J le 28 Mai 2014
If S is a 6x2 matrix such that each pair of consecutive rows S(i,:) and S(i+1,:) are points on one side of the triangle, then you can use qlcon2vert ( Available Here ) as follows,
x0=mean(S).'; %interior point
A=[S(2,:)-S(1,:); S(4,:)-S(3,:); S(6,:)-S(5,:)]*[0 -1; 1 0];
b=sum(A.*S(1:2:end,:),2);
D=diag(sign(b-A*x0));
A=D*A; b=D*b;
Vertices=qlcon2vert(x0,A,b)
  3 commentaires
Matt J
Matt J le 28 Mai 2014
I cannot read it. To use the
button properly, highlight the code first and then click the button.
Emmanuel
Emmanuel le 29 Mai 2014
This is the code which I have written. Ignore the mathematical error. I am not able to plot the triangle and obtain the vertices
for i = 1 : 3
[xp] = input('enter the value of 1st co-ord');
[yp] = input('enter the value of 2nd co=ord');
%for a and b:
yp(1) = xp(2); xp(2) = yp(1);
a = (yp(2)-yp(1)) / (xp(2)-xp(1));
b = yp(1)-a*xp(1);
%y = a*x + b;
xlims = [0 15];
ylims = [0 15];
y = xlims*a+b;
z = line( xlims, y );
xlim(xlims); ylim(ylims);
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics and Optimization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by