Applies transformation to a shape defined by piecewise smooth polynomials.
shape is a cell where each elements is a 2-by-(poly_degree+1) matrix containing a pair of polynomials.
Format of T can be one of :
[c] , [a b] , [a b c] or [a b c] [f] [d e] [d e f] [d e f] [0 0 1]
See also: shape2polygon, plotShape.
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]}; warning ("off", 'geom2d:cw-shape',"local"); A = shapeArea (shape); T = eye(2)/sqrt(A); shape = transformShape (shape,T); T = shapeCentroid (shape)(:); shape = transformShape (shape,-T + [2; 0]); close plotShape (shape,'-r','linewidth',2); hold on for i = 1:9 T = createRotation (i*pi/5)(1:2,1:2)/exp(0.3*i); plotShape (transformShape(shape, T), 'color',rand(1,3),'linewidth',2); end hold off axis image
Produces the following figure
Figure 1 |
---|
Package: geometry