X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=octave_packages%2Fnurbs-1.3.6%2Fnrbline.m;fp=octave_packages%2Fnurbs-1.3.6%2Fnrbline.m;h=53cf218950e09513e1287ea490fbceb84205797d;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/nurbs-1.3.6/nrbline.m b/octave_packages/nurbs-1.3.6/nrbline.m new file mode 100644 index 0000000..53cf218 --- /dev/null +++ b/octave_packages/nurbs-1.3.6/nrbline.m @@ -0,0 +1,59 @@ +function curve = nrbline(p1,p2) +% +% NRBLINE: Construct a straight line. +% +% Calling Sequence: +% +% crv = nrbline() +% crv = nrbline(p1,p2) +% +% INPUT: +% +% p1 : 2D or 3D cartesian coordinate of the start point. +% +% p2 : 2D or 3D cartesian coordinate of the end point. +% +% OUTPUT: +% +% crv : NURBS curve for a straight line. +% +% Description: +% +% Constructs NURBS data structure for a straight line. If no rhs +% coordinates are included the function returns a unit straight +% line along the x-axis. +% +% 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 . + +coefs = [zeros(3,2); ones(1,2)]; + +if nargin < 2 + coefs(1,2) = 1.0; +else + coefs(1:length(p1),1) = p1(:); + coefs(1:length(p2),2) = p2(:); +end + +curve = nrbmak(coefs, [0 0 1 1]); + +end + +%!demo +%! crv = nrbline([0.0 0.0 0.0]',[5.0 4.0 2.0]'); +%! nrbplot(crv,1); +%! grid on; +%! title('3D straight line.'); +%! hold off