how to find the area of the triangles formed as a result of delaunay triangulation
22 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abinaya
el 3 de Mzo. de 2014
Comentada: Valerio Ficcadenti
el 14 de Ag. de 2022
I have applied delaunay triangulation to my image. i have got 160 triangles. i need to find area of each triangle. Kindly help me with code. only after i can proceed with my prooj.i am new to matlab.
1 comentario
M.S. Khan
el 24 de Ag. de 2020
How you counted the number of triangles? Please tell me the methods, regards
Respuesta aceptada
Roger Stafford
el 3 de Mzo. de 2014
If a triangle is in two dimensional space with vertices at (x1,y1), (x2,y2), and (x3,y3), its area is given by:
area = 1/2*abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1));
or
area = 1/2*abs(det([x1,y1,1;x2,y2,1;x3,y3,1]));
If it is in three dimensions with vertices at P1 = [x1,y1,z1], P2 = [x2,y2,z2], P3 = [x3,y3,z3], its area is:
area = 1/2*norm(cross(P2-P1,P3-P1));
These formulas are more accurate for numerical computation than those which depend on the lengths of the three sides of the triangle.
Of course you must adapt these formulas for use with your 160 triangles, either using the necessary for-loop or possibly a vectorized expression.
2 comentarios
Valerio Ficcadenti
el 14 de Ag. de 2022
Hi
How did you manage the polygons that are not closed? Namely, those with vertexes to infinite?
Valerio
Más respuestas (1)
Christopher Rock
el 2 de Ag. de 2018
Vectorised code based off Roger Stafford's answer.
function A = triarea(t, p)
% A = TRIAREA(t, p) area of triangles in triangulation
Xt = reshape(p(t, 1), size(t)); % X coordinates of vertices in triangulation
Yt = reshape(p(t, 2), size(t)); % Y coordinates of vertices in triangulation
A = 0.5 * abs((Xt(:, 2) - Xt(:, 1)) .* (Yt(:, 3) - Yt(:, 1)) - ...
(Xt(:, 3) - Xt(:, 1)) .* (Yt(:, 2) - Yt(:, 1)));
2 comentarios
Diego Andrés Alvarez Marín
el 23 de Abr. de 2021
T is the output of delaunay()
P = [X Y]; % array with two columns that contains the coordinates of the nodes
Ver también
Categorías
Más información sobre Delaunay Triangulation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!