228 Chapter 13 Rational Bezier and B-Spline Curves
If all weights equal one, we obtain the standard nonrational Bezier curve, since
the denominator is identically equal to one.^ If some
Wj
are negative, singularities
may occur; we will therefore deal only with nonnegative Wj, Rational Bezier
curves enjoy all the properties that their nonrational counterparts possess; for
example, they are affinely invariant. We can see this by rewriting (13.1) as
x(t) = 2_^bi-
i=0
Tto"'.^r«
We see that the basis functions
sum to one identically, thus asserting affine invariance. If all
Wi
are nonnegative,
we have the convex hull property. We also have symmetry, invariance under
affine parameter transformations, endpoint interpolation, and the variation di-
minishing property. Obviously, the conic sections from the preceding chapter are
included in the set of all rational Bezier curves, further justifying their increasing
popularity.
The
Wi
are typically used as shape parameters. If we increase one w//, the curve
is pulled toward the corresponding
b/,
as illustrated in Figure
13.1.
Note that the
effect of changing a weight is different from that of moving a control vertex. If we
let all weights tend to infinity at the same rate, we do not approach the control
polygon since a common (if large) factor in the weights does not matter—the
rational Bezier curve shape parameters behave differently from y- or y-spline
shape parameters.
Two properties differ from the nonrational case. First, we have projective
invariance; that is, if a rational Bezier curve is transformed by a projective
transformation, we could just as well apply that transformation to the control
polygon (using its weights to write it in homogeneous form) and would end up
with the same curve. Note that nonrational curves have this property only for
a subset of all projective maps, that is, the affine maps. The second difference
is the linear precision property. Rational curves may have all Bezier points b/
distributed on a straight line in a totally arbitrary fashion:
hi = (1 - a/)bo + a,b„; / = 0,...,
w
This is also true if
the
weights are not unity, but are equal to each other—a common factor
does not matter.