nurbs toolbox

nurbs

Collection of routines for the creation, and manipulation of Non-Uniform Rational B-Splines (NURBS), based on the NURBS toolbox by Mark Spink.

Basic operations for NURBS curves, surfaces and volumes

NRBMAK: Construct the NURBS structure given the control points and the knots.
NRBKNTINS: Insert a single or multiple knots into a NURBS curve, surface or volume.
NRBDEGELEV: Elevate the degree of the NURBS curve, surface or volume.
NRBDERIV: Construct the first and second derivative representation of a NURBS curve, surface or volume.
NRBDEVAL: Evaluation of the derivative and second derivatives of NURBS curve, surface or volume.
NRBEVAL: Evaluate a NURBS at parametric points.

Operations for constructing NURBS curves and surfaces

NRBTFORM: Apply transformation matrix to the NURBS.
NRBREVERSE: Reverse the evaluation directions of a NURBS geometry.
NRBTRANSP: Transpose a NURBS surface, by swapping U and V directions.
NRBPERMUTE: Rearrange the directions of a NURBS volume or surface.
NRBLINE: Construct a straight line.
NRBCIRC: Construct a circular arc.
NRBRECT: Construct NURBS representation of a rectangular curve.
NRB4SURF: Constructs a NURBS bilinear surface.
NRBCYLIND: Construct a cylinder or cylindrical patch.
NRBEXTRACT: construct NURBS curves by extracting the boundaries of a NURBS surface, or NURBS surfaces by extracting the boundary of a NURBS volume.
NRBEXTRUDE: Construct a NURBS surface by extruding a NURBS curve, or construct a NURBS volume by extruding a NURBS surface.
NRBREVOLVE: Construct a NURBS surface by revolving a NURBS curve, or construct a NURBS volume by revolving a NURBS surface.
NRBRULED: Construct a ruled surface between two NURBS curves.
NRBCOONS: Construction of a Coons patch.
NRBPLOT: Plot a NURBS curve or surface, or the boundary of a NURBS volume.
NRBCTRLPLOT: Plot a NURBS entity along with its control points.
NRBKNTPLOT: Plot a NURBS entity with the knots subdivision.
NRBEXPORT: export NURBS geometries to a format compatible with the one used in GeoPDEs (version 0.6).
NRBTESTCRV: Constructs a simple test curve.
NRBTESTSRF: Constructs a simple test surface.

B-Spline functions

BSPEVAL: Evaluate B-Spline at parametric points
BSPDERIV: B-Spline derivative
BSPKNTINS: Insert knots into a B-Spline
BSPDEGELEV: Degree elevate a univariate B-Spline.
BASISFUN: Compute B-Spline Basis Functions
BASISFUNDER: B-Spline Basis function derivatives
FINDSPAN Find the span of a B-Spline knot vector at a parametric point Calling Sequence: s = findspan(n,p,u,U) INPUT: n - number of control points - 1 p - spline degree
NUMBASISFUN: List non-zero Basis functions for B-Spline in a given knot-span
TBASISFUN: Compute a B- or T-Spline basis function, and its derivatives, from its local knot vector.

B-splines geometric entities

CURVEDERIVCPTS: Compute control points of n-th derivatives of a B-spline curve.
CURVEDERIVEVAL: Compute the derivatives of a B-spline curve.
SURFDERIVCPTS: Compute control points of n-th derivatives of a NURBS surface.
SURFDERIVEVAL: Compute the derivatives of a B-spline surface

NURBS geometric entities and functions

NRBBASISFUN: Basis functions for NURBS
NRBBASISFUNDER: NURBS basis functions derivatives
NRBNUMBASISFUN: Numbering of basis functions for NURBS
NRBCRVDERIVEVAL: Evaluate n-th order derivatives of a NURBS curve.
NRBSURFDERIVEVAL: Evaluate n-th order derivatives of a NURBS surface.

Knots construction and refinement

KNTUNIFORM: generate uniform open knot vectors in the reference domain.
KNTREFINE: Refine a given knot vector by dividing each interval uniformly, maintaining the continuity in previously existing knots.
KNTBRKDEGREG: Construct an open knot vector by giving the sequence of knots, the degree and the regularity.
KNTBRKDEGMULT: Construct an open knot vector by giving the sequence of knots, the degree and the multiplicity.

Vector and Transformation Utilities

VECNORM: Normalise the vectors.
VECMAG: Magnitude of the vectors.
VECMAG2: Squared magnitude of a set of vectors.
VECANGLE: An alternative to atan, returning an arctangent in the range 0 to 2*pi.
VECDOT: The dot product of two vectors.
VECCROSS: The cross product of two vectors.
VECROTX: Transformation matrix for a rotation around the x axis.
VECROTY: Transformation matrix for a rotation around the y axis.
VECROTZ: Transformation matrix for a rotation around the z axis.
VECROT: Transformation matrix for a rotation around the axis given by a vector.
VECSCALE: Transformation matrix for a scaling.
VECTRANS: Transformation matrix for a translation.

Misc Utilities

DEG2RAD: Convert degrees to radians.
RAD2DEG: Convert radians to degrees.

Package: nurbs

nurbs toolbox