
9.6 Polynomial Curves 357
where n
i
is the degree of the polynomial. In most applications the degrees of the
components are the same, in which case the curve is written as X(t) =
n
j=0
A
j
t
j
for known points A
j
∈ R
3
. The domain D is typically either R or [0, 1]. A rational
polynomial curve is a vector-valued function X(t) whose components X
i
(t) are ratios
of polynomials
X
i
(t) =
n
i
j=0
a
ij
t
j
m
i
j=0
b
ij
t
j
where n
i
and m
i
are the degrees of the numerator and denominator polynomials.
A few common types of curves that occur in computer graphics are B
´
ezier curves,
B-spline curves, and nonuniform rational B-spline (NURBS) curves. Only the defi-
nitions for these curves are given here. Various properties of interest may be found
in other texts (Bartels, Beatty, and Barsky 1987; Cohen, Riesenfeld, and Elber 2001;
Farin 1990, 1995; Rogers 2001; Yamaguchi 1988).
9.6.1 B
´
ezier Curves
A spatial B´ezier curve is constructed from a set of points P
i
∈R
3
for 0 ≤i ≤ n, called
control points,by
X(t) =
n
i=0
n
i
t
i
(1 − t)
n−1
P
i
=
n
i=0
B
i
(t)P
i
where t ∈ [0, 1]. The real-valued polynomials B
i
(t) are called the Bernstein polyno-
mials, each of degree n. The polynomial components of X(t) are therefore also of
degree n. Figure 9.22 shows a cubic B
´
ezier curve, along with the control points and
control polygon.
9.6.2 B-Spline Curves
A spatial B-spline curve of degree j is constructed from a set of points P
i
∈ R
3
, called
control points, and a monotone set of parameters t
i
(i.e., t
i
≤ t
i+1
), called knots, for
0 ≤i ≤ n,by
X(t) =
n
i=0
B
i,j
(t)P
i
where t ∈[t
0
, t
n
]and 1 ≤j ≤n.Thevector(t
0
, ..., t
n
) is called a knot vector. The real-
valued polynomials B
i,j
(t) areofdegreej and defined by the Cox–de Boor recursion
formulas