Finding segmented triangle area of polygon

1 visualizzazione (ultimi 30 giorni)
I tried to find out the triangle area in the polygon based on determinant theory.
Here is the reference
I tried to calculate the area of triangles using indeces: function and for-loop.
function area = trianglearea(a)
for i = 2 : length(i)-1;
tri = [a(1,1), a(1,i), a(1,i+1); a(2,1), a(2,i), a(2,i+1); 1, 1, 1];
area = 0.5*det(tri)
end
end
A = [0 10 12 8 6 0; 0 1 4 6 8 0];
trianglearea(A)
then the results is
and workplace is the results of area of triangles do not show each reasults following different i value in for-loop. It just show the final result when i = lengh(a)-1.
How can I display every triangle area..?

Risposta accettata

Chidvi Modala
Chidvi Modala il 12 Giu 2020
You can make use of the following code to capture the area of each triangle and also to find the area of entire polygon
function [area, totalArea] = trianglearea(a)
area = zeros(length(a)-2,1);
for i = 1 : length(area)
tri = [a(1,1), a(1,i+1), a(1,i+2); a(2,1), a(2,i+1), a(2,i+2); 1, 1, 1];
area(i) = 0.5*det(tri);
end
totalArea = sum(area); % Total Area of polygon
end

Più risposte (1)

Image Analyst
Image Analyst il 12 Giu 2020
Or simply use polyarea().

Categorie

Scopri di più su Elementary Polygons in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by