X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fnurbs-1.3.6%2Fvecrotx.m;fp=octave_packages%2Fnurbs-1.3.6%2Fvecrotx.m;h=8b03721a0226f078e4ba0a817594a8b6e69d6664;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/nurbs-1.3.6/vecrotx.m b/octave_packages/nurbs-1.3.6/vecrotx.m new file mode 100644 index 0000000..8b03721 --- /dev/null +++ b/octave_packages/nurbs-1.3.6/vecrotx.m @@ -0,0 +1,62 @@ +function rx = vecrotx(angle) +% +% VECROTX: Transformation matrix for a rotation around the x axis. +% +% Calling Sequence: +% +% rx = vecrotx(angle); +% +% INPUT: +% +% angle : rotation angle defined in radians +% +% OUTPUT: +% +% rx : (4x4) Transformation matrix. +% +% +% Description: +% +% Return the (4x4) Transformation matrix for a rotation about the x axis +% by the defined angle. +% +% The matrix is: +% +% [ 1 0 0 0] +% [ 0 cos(angle) -sin(angle) 0] +% [ 0 sin(angle) cos(angle) 0] +% [ 0 0 0 1] +% +% Examples: +% +% Rotate the NURBS line (0.0 0.0 0.0) - (3.0 3.0 3.0) by 45 degrees +% around the x-axis +% +% line = nrbline([0.0 0.0 0.0],[3.0 3.0 3.0]); +% trans = vecrotx(%pi/4); +% rline = nrbtform(line, trans); +% +% See also: +% +% nrbtform +% +% Copyright (C) 2000 Mark Spink +% +% 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 2 of the License, or +% (at your option) any later version. + +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . + +sn = sin(angle); +cn = cos(angle); +rx = [1 0 0 0; 0 cn -sn 0; 0 sn cn 0; 0 0 0 1]; + +end