I've got 8 points that create the outline of an eight-sided polygon in two-dimensional space. I need to find the area enclosed be these points, but how do I do that using matlab?
The eight points (x,y) are contained in the 8x2 matrix B.
B = [ 260 455;
1187 467;
1325 605;
1342 1533;
1207 1675
251 1690;
107 1547;
116 593];
The polygon is created by drawing straight lines from the point which is row 1 to row 2, then row 2 to row 3 and so on...
You can use polyarea
:
ar = polyarea(B(:, 1), B(:, 2));
I would go with trapezoid:
Area = trapz(B(:,1),B(:,2));
For calculating area and even volume you can use convhull.
来源:https://stackoverflow.com/questions/15579602/matlab-find-area-enclosed-by-points-x-y