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