Game Development Reference
In-Depth Information
The function B i (t) is a Bernstein polynomial, named after Sergei Bern-
stein (1880-1968). 16 We've already figured out the pattern of these poly-
nomials, but here's the precise formula:
n
i
Bernstein polynomial
B i (t) =
t i (1 − t) n−i ,
0 ≤ i ≤ n.
Figure 13.13 shows the graphs for the Bernstein polynomials up to the
quartic case.
The properties of the Bernstein polynomials tell us a lot about how
Bezier curves behave. Let's discuss a few properties in particular.
Sum to one. The Bernstein polynomials sum to unity for all values of t,
which is nice because if they didn't, then they wouldn't define proper
barycentric coordinates. This fact is not immediately obvious, neither from
visual inspection of Figure 13.13 nor from a cursory examination of the
equations, but it can be proven. If you relish the idea of working through
such a proof for the quadratic case, check out Exercise 4.
Convex hull property. The range of the Bernstein polynomials is 0...1 for
the entire length of the curve, 0 ≤ t ≤ 1. Combined with the previous
property, this means that Bezier curves obey the convex hull property: the
curve is bounded to stay within the convex hull of the control points. Com-
pare this with the Lagrange basis polynomials, which do not stay within
the [0,1] interval, causing polynomial interpolation to not obey the convex
hull property. One manifestation of this is the undesirable “overshooting”
witnessed in Figure 13.4.
Endpoints interpolated. The first and last polynomials attain unity when
we need them to. Because B 0 (0) = 1 and B n (1) = 1, the curve touches the
endpoints. Notice that t = 0 and t = 1 are the only places where any of the
basis polynomials reach 1, which is why the other control points are only
approximated and not interpolated.
Global support. All the polynomials are nonzero on the open interval (0,1)—
that is, the entire curve excluding the endpoints. The region where the
blending weight for a control point is nonzero is called the support of the
control point. Wherever the control point has support, it exerts some in-
fluence on the curve.
Bezier control points have global support because the Bernstein poly-
nomials are nonzero everywhere other than the endpoints. The practical
result is that when any one control point is moved, the entire curve is af-
fected. This is not a desirable property for curve design. Once we have a
16 Russian, not French.
Search WWH ::




Custom Search