NURBSUtils

Import

NURBSUtils is an addon, and must be imported explicitly, see Installation#Addons.

import * as NURBSUtils from 'three/addons/curves/NURBSUtils.js';

Methods

.calcBSplineDerivatives( p : number, U : Array.<number>, P : Array.<Vector4>, u : number, nd : number ) : Array.<Vector4> (inner)

Calculates derivatives of a B-Spline. See The NURBS Book, page 93, algorithm A3.2.

p

The degree.

U

The knot vector.

P

The control points

u

The parametric point.

nd

The number of derivatives.

Returns: An array[d+1] with derivatives.

.calcBSplinePoint( p : number, U : Array.<number>, P : Array.<Vector4>, u : number ) : Vector4 (inner)

Calculates B-Spline curve points. See The NURBS Book, page 82, algorithm A3.1.

p

The degree of the B-Spline.

U

The knot vector.

P

The control points

u

The parametric point.

Returns: The point for given u.

.calcBasisFunctionDerivatives( span : number, u : number, p : number, n : number, U : Array.<number> ) : Array.<Array.<number>> (inner)

Calculates basis functions derivatives. See The NURBS Book, page 72, algorithm A2.3.

span

The span in which u lies.

u

The parametric point.

p

The degree.

n

number of derivatives to calculate

U

The knot vector.

Returns: An array[n+1][p+1] with basis functions derivatives.

.calcBasisFunctions( span : number, u : number, p : number, U : Array.<number> ) : Array.<number> (inner)

Calculates basis functions. See The NURBS Book, page 70, algorithm A2.2.

span

The span in which u lies.

u

The parametric value.

p

The degree.

U

The knot vector.

Returns: Array[p+1] with basis functions values.

.calcKoverI( k : number, i : number ) : number (inner)

Calculates "K over I".

k

The K value.

i

The I value.

Returns: k!/(i!(k-i)!)

.calcNURBSDerivatives( p : number, U : Array.<number>, P : Array.<Vector4>, u : number, nd : number ) : Array.<Vector3> (inner)

Calculates NURBS curve derivatives. See The NURBS Book, page 127, algorithm A4.2.

p

The degree.

U

The knot vector.

P

The control points in homogeneous space.

u

The parametric point.

nd

The number of derivatives.

Returns: array with derivatives for rational curve.

.calcRationalCurveDerivatives( Pders : Array.<Vector4> ) : Array.<Vector3> (inner)

Calculates derivatives (0-nd) of rational curve. See The NURBS Book, page 127, algorithm A4.2.

Pders

Array with derivatives.

Returns: An array with derivatives for rational curve.

.calcSurfacePoint( p : number, q : number, U : Array.<number>, V : Array.<number>, P : Array.<Array.<Vector4>>, u : number, v : number, target : Vector3 ) (inner)

Calculates a rational B-Spline surface point. See The NURBS Book, page 134, algorithm A4.3.

p

The first degree of B-Spline surface.

q

The second degree of B-Spline surface.

U

The first knot vector.

V

The second knot vector.

P

The control points in homogeneous space.

u

The first parametric point.

v

The second parametric point.

target

The target vector.

.calcVolumePoint( p : number, q : number, r : number, U : Array.<number>, V : Array.<number>, W : Array.<number>, P : Array.<Array.<Array.<Vector4>>>, u : number, v : number, w : number, target : Vector3 ) (inner)

Calculates a rational B-Spline volume point. See The NURBS Book, page 134, algorithm A4.3.

p

The first degree of B-Spline surface.

q

The second degree of B-Spline surface.

r

The third degree of B-Spline surface.

U

The first knot vector.

V

The second knot vector.

W

The third knot vector.

P

The control points in homogeneous space.

u

The first parametric point.

v

The second parametric point.

w

The third parametric point.

target

The target vector.

.findSpan( p : number, u : number, U : Array.<number> ) : number (inner)

Finds knot vector span.

p

The degree.

u

The parametric value.

U

The knot vector.

Returns: The span.

Source

examples/jsm/curves/NURBSUtils.js