X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fnurbs-1.3.6%2Fvectrans.m;fp=octave_packages%2Fnurbs-1.3.6%2Fvectrans.m;h=91a634ca0be761f42c582d205ecb749a49032d1e;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/nurbs-1.3.6/vectrans.m b/octave_packages/nurbs-1.3.6/vectrans.m new file mode 100644 index 0000000..91a634c --- /dev/null +++ b/octave_packages/nurbs-1.3.6/vectrans.m @@ -0,0 +1,65 @@ +function dd = vectrans(vector) +% +% VECTRANS: Transformation matrix for a translation. +% +% Calling Sequence: +% +% st = vectrans(tvec) +% +% INPUT: +% +% tvec : A vectors defining the translation along the x,y and +% z axes. i.e. [tx, ty, ty] +% +% OUTPUT: +% +% st : Translation Transformation Matrix +% +% Description: +% +% Returns a (4x4) Transformation matrix for translation. +% +% The matrix is: +% +% [ 1 0 0 tx ] +% [ 0 1 0 ty ] +% [ 0 0 1 tz ] +% [ 0 0 0 1 ] +% +% Examples: +% +% Translate the NURBS line (0.0,0.0,0.0) - (1.0,1.0,1.0) by 3 along +% the x-axis, 2 along the y-axis and 4 along the z-axis. +% +% line = nrbline([0.0 0.0 0.0],[1.0 1.0 1.0]); +% trans = vectrans([3.0 2.0 4.0]); +% tline = 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 . + + +if nargin < 1 + error('Translation vector required'); +end + +v = [vector(:);0;0]; +dd = [1 0 0 v(1); 0 1 0 v(2); 0 0 1 v(3); 0 0 0 1]; + +end