On-Line Geometric Modeling Notes

Bernstein Polynomials


Overview

Polynomials are incredibly useful mathematical tools as they are simply defined, can be calculated quickly on computer systems and represent a tremendous variety of functions. They can be differentiated and integrated easily, and can be pieced together to form spline curves that can approximate any function to any accuracy desired. Most students are introducted to polynomials at a very early stage in their studies of mathematics, and would probably recall them in the form below:
displaymath498
which represents a polynomial as a linear combination of certain elementary polynomials tex2html_wrap_inline500.

In general, any polynomial function that has degree less than or equal to n, can be written in this way, and the reasons are simply

This basis, commonly called the power basis, is only one of an infinite number of bases for the space of polynomials.

In these notes we discuss another of the commonly used bases for the space of polynomials, the Bernstein basis, and discuss its many useful properties.

For a postscript version of these notes look here.


Bernstein Polynomials  

The Bernstein polynomials of degree n are defined by
displaymath512
for i = 0,1,...,n, where
displaymath516
There are n+1 nth-degree Bernstein polynomials. For mathematical convenience, we usually set tex2html_wrap_inline522, if i<0 or i>n.

These polynomials are quite easy to write down: the coefficients tex2html_wrap_inline528 can be obtained from Pascal's triangle; the exponents on the t term increase by one as i increases; and the exponents on the (1-t) term decrease by one as i increases. In the simple cases, we obtain


A Recursive Definition of the Bernstein Polynomials  

The Bernstein polynomials of degree n can be defined by blending together two Bernstein polynomials of degree n-1. That is, the kth nth-degree Bernstein polynomial can be written as  
displaymath552
To show this, we need only use the definition of the Bernstein polynomials and some simple algebra:
equation81


The Bernstein Polynomials are All Non-Negative    

A function f(t) is non-negative over an interval [a,b] if tex2html_wrap_inline558 for tex2html_wrap_inline560. In the case of the Bernstein polynomials of degree n, each is non-negative over the interval [0,1]. To show this we use the recursive definition property above and mathematical induction.

It is easily seen that the functions tex2html_wrap_inline566 and tex2html_wrap_inline568 are both non-negative for tex2html_wrap_inline570. If we assume that all Bernstein polynomials of degree less than k are non-negative, then by using the recursive definition of the Bernstein polynomial, we can write
displaymath574
and argue that tex2html_wrap_inline576 is also non-negative for tex2html_wrap_inline578, since all components on the right-hand side of the equation are non-negative components for tex2html_wrap_inline580. By induction, all Bernstein polynomials are non-negative for tex2html_wrap_inline582.

In this process, we have also shown that each of the Bernstein polynomials is positive when 0 < t < 1.


The Bernstein Polynomials form a Partition of Unity

A set of functions tex2html_wrap_inline586 is said to partition unity if they sum to one for all values of t. The k+1 Bernstein polynomials of degree k form a partition of unity in that they all sum to one.

To show that this is true, it is easiest to first show a slightly different fact: for each k, the sum of the k+1 Bernstein polynomials of degree k is equal to the sum of the k Bernstein polynomials of degree k-1. That is,
displaymath604
This calculation is straightforward, using the recursive definition and cleverly rearranging the sums:
equation128
(where we have utilized tex2html_wrap_inline606).

Once we have established this equality, it is simple to write
displaymath608

The partition of unity is a very important property when utilizing Bernstein polynomials in geometric modeling and computer graphics. In particular, for any set of points tex2html_wrap_inline610, tex2html_wrap_inline612, ..., tex2html_wrap_inline616, in three-dimensional space, and for any t, the expression
displaymath620
is an affine combination of the set of points tex2html_wrap_inline622 and if tex2html_wrap_inline624, it is a convex combination of the points.


Degree Raising  

Any of the lower-degree Bernstein polynomials (degree < n) can be expressed as a linear combination of Bernstein polynomials of degree n. In particular, any Bernstein polynomial of degree n-1 can be written as a linear combination of Bernstein polynomials of degree n. We first note that
equation183
and
equation200
and finally
equation214
Using this final equation, we can write an arbitrary Bernstein polynomial in terms of Bernstein polynomials of higher degree. That is,
equation232
which expresses a Bernstein polynomial of degree n-1 in terms of a linear combination of Bernstein polynomials of degree n. We can easily extend this to show that any Bernstein polynomial of degree k (less than n) can be written as a linear combination of Bernstein polynomials of degree n - e.g., a Bernstein polynomial of degree n-2 can be expressed as a linear combination of two Bernstein polynomials of degree n-1, each of which can be expressed as a linear combination of two Bernstein polynomials of degree n, etc.


Converting from the Bernstein Basis to the Power Basis  

Since the power basis tex2html_wrap_inline652 forms a basis for the space of polynomials of degree less than or equal to n, any Bernstein polynomial of degree n can be written in terms of the power basis. This can be directly calculated using the definition of the Bernstein polynomials and the binomial theorem, as follows:
equation254
where we have used the binomial theorem to expand tex2html_wrap_inline658.

To show that each power basis element can be written as a linear combination of Bernstein Polynomials, we use the degree elevation formulas and induction to calculate:
equation285
where the induction hypothesis was used in the second step.


Derivatives

Derivatives of the nth degree Bernstein polynomials are polynomials of degree n-1. Using the definition of the Bernstein polynomial we can show that this derivative can be written as a linear combination of Bernstein polynomials. In particular  
displaymath664
for tex2html_wrap_inline666. This can be shown by direct differentiation
equation323
That is, the derivative of a Bernstein polynomial can be expressed as the degree of the polynomial, multiplied by the difference of two Bernstein polynomials of degree n-1.


The Bernstein Polynomials as a Basis

Why do the Bernstein polynomials of order n form a basis for the space of polynomials of degree less than or equal to n?

  1. They span the space of polynomials - any polynomial of degree less than or equal to n can be written as a linear combination of the Bernstein polynomials.

    This is easily seen if one realizes that The power basis spans the space of polynomials and any member of the power basis can be written as a linear combination of Bernstein polynomials.

  2. They are linearly independent - that is, if there exist constants tex2html_wrap_inline676 so that the identity
    displaymath678
    holds for all t, then all the tex2html_wrap_inline682's must be zero.

    If this were true, then we could write
    equation365
    Since the power basis is a linearly independent set, we must have that
    equation395
    which implies that tex2html_wrap_inline684 (tex2html_wrap_inline686 is clearly zero, substituting this in the second equation gives tex2html_wrap_inline688, substituting these two into the third equation gives ...)


A Matrix Representation for Bernstein Polynomials  

In many applications, a matrix formulation for the Bernstein polynomials is useful. These are straightforward to develop if one only looks at a linear combination in terms of dot products.

Given a polynomial written as a linear combination of the Bernstein basis functions
displaymath690
It is easy to write this as a dot product of two vectors
displaymath692
We can convert this to
displaymath694
where the tex2html_wrap_inline696 are the coefficients of the power basis that are used to determine the respective Bernstein polynomials. We note that the matrix in this case is lower triangular.

In the quadratic case (n=2), the matrix representation is
displaymath700
and in the cubic case (n=3), the matrix representation is
displaymath704


This document maintained by Ken Joy

Comments to the Author

All contents copyright (c) 1996, 1997
Computer Science Department,
University of California, Davis
All rights reserved.



Ken Joy
Thu Jul 24 10:27:29 PDT 1997