86 Chapter 6 Bezier Curve Topics
In degree reduction, we seek to approximate a degee n + 1 curve by one of
degree n. In terms of (6.7), this means that we would be given
B^^^
and wish to
find
B.
Clearly this is not possible in terms of solving a linear system, since M is
not a square matrix.
A trick will help: simply multiply both sides of (6.7) by M^, thus getting
M^MB = AfB^^\ (6.8)
Now we have a linear system for the unknown B with a square coefficient matrix
M^M—and any linear system solver will do the job!^
The linear system (6.8) is called the system of normal equations. It guarantees
that B is optimal in a least squares sense; for more discussion on this technique,
see Section 7.8. It is also optimal in the sense that the original and the degree
reduced curves are as close as possible in the least squares sense; see
[406].
In many cases, it might be desired that bg =
bQ
and b„ = b^^. Our least
squares solution will not meet these conditions in most cases—the simplest
solution is to enforce them after having found B.
Degree reduction has received a fair amount of attention in the literature; we
cite [97],
[182], [406], [472], [612].
6.5 Nonparametric Curves
We have so far considered three-dimensional parametric curves b(^). Now we
shall restrict ourselves to functional curves of the form y = f(x), where f denotes
a polynomial. These (planar) curves can be written in parametric form:
x(t)
yit)
t
fit)
Ht) =
We are interested in functions f that are expressed in terms of the Bernstein basis:
Note that now the coefficients bj are real numbers, not points. The bj therefore
do not form a polygon, yet functional curves are a subset of parametric curves
and therefore must possess a control polygon. To find it, we recall the linear
precision property of Bezier curves, as defined by (5.14). We can now write our
3 This linear system is
bidiagonal,
and may be solved much faster using simple backward
substitution.