Home

BSplines

Bsplines, or B-splines, are a family of basis functions used to construct smooth curves and surfaces. They are piecewise polynomial functions defined over a nondecreasing knot vector U = {u0, ..., um}. Each basis function Ni,p has degree p and is nonzero only on the interval [ui, ui+p+1). The continuity at a knot is controlled by the multiplicity of the knot; higher multiplicity reduces smoothness.

Definition and construction: The B-spline basis is defined recursively by the Cox–de Boor formula. For p =

Properties: B-splines are nonnegative, and the sum of all Ni,p(u) equals 1 for all u in the

Applications: B-spline curves are formed as C(u) = ∑i Pi Ni,p(u), where Pi are control points. They

Notes: Open (clamped) knot vectors are often used to ensure the curve begins and ends at the

---

0,
Ni,0(u)
=
1
if
ui
≤
u
<
ui+1
and
0
otherwise.
For
p
>
0,
Ni,p(u)
=
(u
−
ui)/(ui+p
−
ui)
Ni,p−1(u)
+
(ui+p+1
−
u)/(ui+p+1
−
ui+1)
Ni+1,p−1(u),
with
the
convention
that
a
zero
denominator
yields
zero
contribution.
knot
domain
(partition
of
unity).
They
have
local
support,
leading
to
local
control
over
the
curve.
The
basis
functions
are
affine
invariant
and
stable
under
knot
insertion
(refinement).
provide
smooth,
flexible
shapes
with
good
numerical
properties
and
local
influence,
making
editing
intuitive.
B-splines
are
widely
used
in
computer-aided
design,
computer
graphics,
animation,
and
numerical
analysis.
On
a
single
knot
span,
a
B-spline
basis
of
degree
p
reduces
to
a
Bezier
basis,
and
global
curves
are
assembled
from
these
segments
with
continuity
determined
by
knot
multiplicities.
first
and
last
control
points.