A B-spline is a generalization of the Bézier curve. Let a vector known as the knot vector be defined
(1)
|
where is a nondecreasing sequence
with
, and define control points
, ...,
. Define the degree as
(2)
|
The "knots" ,
...,
are called internal
knots.
Define the basis functions as
(3)
| |||
(4)
|
where , 2, ...,
. Then the curve defined by
(5)
|
is a B-spline.
Specific types include the nonperiodic B-spline (first knots equal 0 and last
equal to 1; illustrated above) and uniform B-spline (internal knots are equally spaced). A B-spline with
no internal knots is a Bézier
curve.
A curve is
times differentiable at a point where
duplicate knot values occur. The knot values determine the
extent of the control of the control points.
-splines are implemented in the Wolfram
Language as BSplineCurve[pts].