NRBTFORM: Apply transformation matrix to the NURBS. Calling Sequence: tnurbs = nrbtform(nurbs,tmatrix); INPUT: nurbs : NURBS data structure (see nrbmak for details). tmatrix : Transformation matrix, a matrix of size (4,4) defining a single or multiple transformations. OUTPUT: tnurbs : The return transformed NURBS data structure. Description: The NURBS is transform as defined a transformation matrix of size (4,4), such as a rotation, translation or change in scale. The transformation matrix can define a single transformation or multiple series of transformations. The matrix can be simply constructed by the functions vecscale, vectrans and vecrot, and also vecrotx, vecroty, and vecrotz. Examples: Rotate a square by 45 degrees about the z axis. rsqr = nrbtform(nrbrect(), vecrotz(45*pi/180)); nrbplot(rsqr, 1000); See also: vecscale, vectrans, vecrot, vecrotx, vecroty, vecrotz Copyright (C) 2000 Mark Spink Copyright (C) 2010 Rafael Vazquez This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The following code
xx = vectrans([2.0 1.0])*vecroty(pi/8)*vecrotx(pi/4)*vecscale([1.0 2.0]); c0 = nrbtform(nrbcirc, xx); nrbplot(c0,50); grid on title('Construction of an ellipse by transforming a unit circle.'); hold off
Produces the following figure
Figure 1 |
---|
Package: nurbs