Compute the signed area of a polygon. A = polygonArea(POINTS); Compute area of a polygon defined by POINTS. POINTS is a N-by-2 array of double containing coordinates of vertices. Vertices of the polygon are supposed to be oriented Counter-Clockwise (CCW). In this case, the signed area is positive. If vertices are oriented Clockwise (CW), the signed area is negative. If polygon is self-crossing, the result is undefined. Examples % compute area of a simple shape poly = [10 10;30 10;30 20;10 20]; area = polygonArea(poly) area = 200 % compute area of CW polygon area2 = polygonArea(poly(end:-1:1, :)) area2 = -200 % Computes area of a paper hen x = [0 10 20 0 -10 -20 -10 -10 0]; y = [0 0 10 10 20 10 10 0 -10]; poly = [x' y']; area = polygonArea(poly) area = 400 % Area of unit square with 25% hole pccw = [0 0; 1 0; 1 1; 0 1]; pcw = pccw([1 4 3 2], :) * .5 + .25; polygonArea ([pccw; nan(1,2); pcw]) ans = 0.75 References algo adapted from P. Bourke web page http://paulbourke.net/geometry/polygonmesh/ See also: polygons2d, polygonCentroid, polygonSecondAreaMoments, triangleArea
Package: matgeom