Expand or shrink a polygon. Resulting polygons will have the same number of vertices and the same order as polygon V. Consider using polyclean before using polygrow.
The polygon vertices are contained in a single matrix of dimension Nx2 (or 2xN), where N \(\ge\) 3 is the number of vertices. The dimension 2 corresponds to the x and y positions. For example, a square of side length 1 can be described by V = [ 0,0; 1,0; 1,1; 0,1] or V = [ 0,1,1,0;0,0,1,1].
Syntax |
Description |
---|---|
polygrow(V, delta, {"tolerance": tol_value, "legacy": true/false}) |
Returns the vertices of a new polygon that has grown by delta. To shrink a polygon, use delta< 0.
|
Example
The following example shows the vertices of a square of side length 1 expanded by 0.1 on all sides with the tolerance of 1e-15. Setting the 'legacy' value to 'false' allows identifying seams and bowtie-vertices.
V = [ 0,0; 1,0; 1,1; 0,1];
?polygrow(V, 0.1, {"tolerance": 1e-15, "legacy": false});
result:
-0.1 -0.1
1.1 -0.1
1.1 1.1
-0.1 1.1
See Also
List of commands , polyclean , polyarea , centroid , polyintersect , inpoly , polyand , polyor , polydiff , polyxor