POLYGONVERTICES Extract all vertices of a (multi-)polygon.
VERTS = polygonVertices(POLY)
Returns the set of verttices from the polygon POLY. POLY can be either:
* a N-by-2 array of vertices. In that case, POLY and VERTS are the
same.
* a N-by-2 array of vertices with pairs of NaN values separating two
rings of the polygon. In that case, the array VERTS corresponds to
the vertices of the polygon, without copying the NaN values.
* a cell array of loops. In that case, the functions recursively
process the polygons and populated the vertex array.
Example
% create a polygon with a hole, using NaN for separating rings
ring1 = [0 0 ; 50 0;50 50;0 50];
ring2 = [20 20;20 30;30 30;30 20];
poly = [ring1 ; NaN NaN ; ring2];
figure; drawPolygon(poly, 'b');
axis([-10 60 -10 60]); axis equal; hold on;
verts = polygonVertices(poly);
drawPoint(verts, 'bo');
% create a polygon with a hole, storing rings in cell array
ring1 = [0 0 ; 50 0;50 50;0 50];
ring2 = [20 20;20 30;30 30;30 20];
poly = {ring1, ring2};
figure; drawPolygon(poly, 'b');
axis([-10 60 -10 60]); axis equal; hold on;
verts = polygonVertices(poly);
drawPoint(verts, 'bo');
See also
polygons2d, polygonEdges
Package: matgeom