Extract a portion of a polygon. POLY2 = polygonSubcurve(POLYGON, POS0, POS1) Create a new polyline, by keeping vertices located between positions POS0 and POS1, and adding points corresponding to positions POS0 and POS1 if they are not already vertices. [POLY2, INDS] = polygonSubcurve(POLYGON, POS0, POS1) Also return indices of polygon vertices comprised between POS0 and POS1. The array INDS may be smaller than the array POLY2. Example Nv = 100; poly = circleToPolygon([30 20 15], Nv); arc1 = polygonSubcurve(poly, 15, 45); arc2 = polygonSubcurve(poly, 90, 10); % contains polygon endpoints figure; axis equal, hold on; axis([0 50 0 50]); drawPolyline(arc1, 'linewidth', 4, 'color', 'g'); drawPolyline(arc2, 'linewidth', 4, 'color', 'r'); drawPolygon(poly, 'color', 'b'); See also polygons2d, polylineSubcurve, projPointOnPolygon, polygonPoint
Package: matgeom