NRBDEGELEV: Elevate the degree of the NURBS curve, surface or volume. Calling Sequence: ecrv = nrbdegelev(crv,utimes); esrf = nrbdegelev(srf,[utimes,vtimes]); evol = nrbdegelev(vol,[utimes,vtimes,wtimes]); INPUT: crv : NURBS curve, see nrbmak. srf : NURBS surface, see nrbmak. vol : NURBS volume, see nrbmak. utimes : Increase the degree along U direction utimes. vtimes : Increase the degree along V direction vtimes. wtimes : Increase the degree along W direction vtimes. OUTPUT: ecrv : new NURBS structure for a curve with degree elevated. esrf : new NURBS structure for a surface with degree elevated. evol : new NURBS structure for a volume with degree elevated. Description: Degree elevates the NURBS curve or surface. This function uses the B-Spline function bspdegelev, which interface to an internal 'C' routine. Examples: Increase the NURBS surface twice along the V direction. esrf = nrbdegelev(srf, [0, 2]); See also: bspdegelev Copyright (C) 2000 Mark Spink, 2010 Rafel 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
crv = nrbtestcrv; plot(crv.coefs(1,:),crv.coefs(2,:),'bo') title('Degree elevation along test curve: curve and control polygons.'); hold on; plot(crv.coefs(1,:),crv.coefs(2,:),'b--'); nrbplot(crv,48); icrv = nrbdegelev(crv, 1); plot(icrv.coefs(1,:),icrv.coefs(2,:),'ro') plot(icrv.coefs(1,:),icrv.coefs(2,:),'r--'); hold off;
Produces the following figure
Figure 1 |
---|
Package: nurbs