Transforms a 2D shape described by piecewise smooth polynomials into a polygon.
shape is a n-by-1 cell where each element is a pair of polynomials
compatible with polyval.
polygon is a k-by-2 matrix, where each row represents a vertex.
The property-value pairs are passed to curve2polyline.
See also: polygon2shape, curve2poyline.
The following code
 shape = {[-93.172   606.368  -476.054   291.429; ...
           -431.196   637.253    11.085   163.791]; ...
          [-75.3626  -253.2337   457.1678   328.5714; ...
            438.7659  -653.6278    -7.9953   380.9336]; ...
          [-89.5841   344.9716  -275.3876   457.1429; ...
           -170.3613   237.8858     1.0469   158.0765];...
          [32.900  -298.704   145.804   437.143; ...
          -243.903   369.597   -34.265   226.648]; ...
          [-99.081   409.127  -352.903   317.143; ...
            55.289  -114.223   -26.781   318.076]; ...
          [-342.231   191.266   168.108   274.286; ...
            58.870   -38.083   -89.358   232.362]};
 # Estimate a good tolerance
 n  = cell2mat(cellfun(@(x)curveval(x,rand(1,10)), shape, 'uniformoutput',false));
 dr = (max(n(:,1))-min(n(:,1)))*(max(n(:,2))-min(n(:,2)))*40;
 p  = shape2polygon (shape,'tol',dr);
 figure(1)
 plotShape(shape,'-b');
 hold on;
 drawPolygon (p,'-or');
 hold off
Produces the following figure
| Figure 1 | 
|---|
![]()  | 
Package: geometry