Curve

NURBSCurve

This class represents a NURBS curve.

Implementation is based on (x, y [, z=0 [, w=1]]) control points with w=weight.

Import

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

import { NURBSCurve } from 'three/addons/curves/NURBSCurve.js';

Constructor

new NURBSCurve( degree : number, knots : Array.<number>, controlPoints : Array.<(Vector2|Vector3|Vector4)>, startKnot : number, endKnot : number )

Constructs a new NURBS curve.

degree

The NURBS degree.

knots

The knots as a flat array of numbers.

controlPoints

An array holding control points.

startKnot

Index of the start knot into the knots array.

endKnot

Index of the end knot into the knots array.

Properties

.controlPoints : Array.<Vector4>

An array of control points.

.degree : number

The NURBS degree.

.endKnot : number

Index of the end knot into the knots array.

.knots : Array.<number>

The knots as a flat array of numbers.

.startKnot : number

Index of the start knot into the knots array.

Methods

.getPoint( t : number, optionalTarget : Vector3 ) : Vector3

This method returns a vector in 3D space for the given interpolation factor.

t

A interpolation factor representing a position on the curve. Must be in the range [0,1].

optionalTarget

The optional target vector the result is written to.

Overrides: Curve#getPoint
Returns: The position on the curve.

.getTangent( t : number, optionalTarget : Vector3 ) : Vector3

Returns a unit vector tangent for the given interpolation factor.

t

The interpolation factor.

optionalTarget

The optional target vector the result is written to.

Overrides: Curve#getTangent
Returns: The tangent vector.

Source

examples/jsm/curves/NURBSCurve.js