Normal angle at each vertex of a polygon.

   THETA = polygonNormalAngle(POLY);
   where POLY is a N-by-2 array representing vertex coordinates, computes
   the normal angle at each vertex of the polygon. THETA is a N-by-1 array
   containing numeric values between -PI and +PI. The result depends on
   the orientation of the polygon (counter-clockwise or clockwise).

   THETA = polygonNormalAngle(POLY, IND);
   Computes the normal angle for each vertex specified by IND. If IND is a
   vector of vertex indices.


   Example
   % Normal angles at vertices of an isosceles right triangle are pi/2 at
   % right angle-vertex and 3*pi/4 for the two remaining vertices. 
     poly = [0 0 ; 1 0 ; 0 1];
     polygonNormalAngle(poly)
     ans =
         1.5708
         2.3562
         2.3562

   % Compute normal angles for a slightly more complicated polygon
     poly = [0 0;0 1;-1 1;0 -1;1 0];
     % compute normal angle at each vertex
     theta = polygonNormalAngle(poly);
     % sum of all normal angle of a non-intersecting polygon equals 2*pi
     % (can be -2*pi if polygon is oriented clockwise)
     sum(theta)
     ans =
         6.2832

   See also:
     polygons2d, polygonOuterNormal, normalizeAngle

Package: matgeom