Outer normal vector for a given vertex(ices).

   NV = polygonOuterNormal(POLY, VIND)
   Where POLY is a polygon and VIND is the index of a vertex, returns the
   outer normal vector of the specified vertex.
   The normal is computed by averaging the tangent vectors of the two
   neighbor edges, i.e. by computing a finite difference of the neighbor
   vertices.
   
   NV = polygonOuterNormal(POLY)
   Returns an array with as many vectors as the number of vertices of the
   input polygon, containing the outer normal of each vertex.


   Example
     % compute outer normals to an ellipse
     elli = [50 50 40 20 30];
     poly = ellipseToPolygon(elli, 200);
     figure; hold on;
     drawPolygon(poly, 'b'); axis equal; axis([0 100 10 90]);
     inds = 1:10:200; pts = poly(inds, :); drawPoint(pts, 'bo')
     vect = polygonOuterNormal(poly, inds);
     drawVector(pts, vect*10, 'b');

   See also
     polygons2d, polygonPoint, polygonNormalAngle

Package: matgeom