Finding segmented triangle area of polygon

2 views (last 30 days)
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..?

Accepted Answer

Chidvi Modala
Chidvi Modala on 12 Jun 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

More Answers (1)

Image Analyst
Image Analyst on 12 Jun 2020
Or simply use polyarea().

Categories

Find more on Elementary Polygons in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!