nrbmak - Construct a NURB from control points and knots.
nrbtform - Apply scaling, translation or rotation
operators.
nrbkntins - Knot insertion/refinement.
nrbdegelev - Degree elevation.
nrbderiv - Construction of the 1st and 2nd derivatives.
nrbdeval - Evaluation of the NURBS derivatives.
nrbkntmult - Find the multipilicity of a knot vector.
nrbreverse - Reverse evaluation direction of NURBS.
nrbtranspose - Swap U and V for NURBS surface.
nrbline - Construct a straight line.
nrbcirc - Construct a circular arc.
nrbrect - Construct a rectangle.
nrb4surf - Surface defined by 4 corner points.
nrbcylind - Cylinder or cylindrical patch.
nrbeval - Evaluation of NURBS curve or surface.
nrbextrude - Extrude a NURBS curve along a vector.
nrbrevolve - Construct surface by revolving a profile.
nrbruled - Ruled surface between two NURBS curves.
nrbcoons - Construct Coons bilinearly blended surface
patch.
nrbplot - Plot NURBS curve or surface.
bspeval - Evaluate a univariate B-Spline.
bspdeval - Evaluate the nth derivative of a univariate
B-Spline.
bspkntins - Insert a knot or knots into a univariate
B-Spline.
bspdegelev - Degree elevation of a univariate B-Spline.
vecnorm - Normalise the vectors.
vecmag - Magnitude of the vectors.
vecmag2 - Squared magnitude of the vectors.
vecangle - Alternative to atan2 (0 <= angle < 2*pi).
vecdot - Dot product of two vectors.
veccross - Cross product of two vectors.
vecrotx - Rotation around the x-axis.
vecroty - Rotation around the y-axis.
vecrotz - Rotation around the z-axis.
vecscale - Scaling.
vectrans - Translation.
deg2rad - Convert degrees to radians.
The library also contains demonstartion scripts for almost
all the functions listed above.
Currently the only documentation is the scilab help files,
and the short
description of each function at the beginning of each
library function
and the demonstration examples. I will produce a manual
sometime in the
future when I have the time.
For a detailed explaination of NURBS and how to manipulate
them, I can
strongly recommend the book by Les Piegl and Wayne Tiller
called 'The NURBS
Book' ISBN 3-540-61545-8. Please note that the 'C' code
algorithms is this
library are modified versions of the pseudo-code within the
book.
This library is open source software under the GPL version 2
license, and I'd be very happy if anyone wishes to join me
in either extending this toolbox or towards my main goal of
2D/3D meshing generation library, for which this library
will used to define the geometric attributes.
Ideas for future functions are:
nrbswung - Profile curve swung over a arbitrary
trajectory.
nrbskinned - Blending profile curves along a
trajectory.
nrbswept - Sweeping profile curve over a trajectory
curve.
nrbinterp - Interpolation of data points.
nrb2bezier - NURB decomposition into Bezier segments.
nrbsplit - Split the curve or surface into pieces.
nrbjoin - Join together curve or surface.
nrbkntdel - Knot removal.
nrbdegred - Degree reduction.
I'm also not to happy about the current implementation of
derivatives and will probably make some changes there too.
Happy NURB'ing
Mark Spink
University of Leeds, UK.
een...@ee.leeds.ac.uk
ftp://ftp.inria.fr:/INRIA/Scilab/contrib/
There is currently no link to the library via SCILAB
homepage contributions section, however one might be added
by the maintainers soon!
http://www-rocq.inria.fr/scilab/contributions.html
Mark Spink
http://www-rocq.inria.fr/scilab/contributions
How about that for service! :-) Thanks.