9846

Bernstein Polynomials and Convex Bézier Sums

This Demonstration throws light on the fact that the points that form a basic Bézier curve are convex combinations of the Bézier points to : , where the coefficients are just the Bernstein polynomials of degree and is a parameter running from 0 to 1.
This curve lies entirely within the convex hull of its Bézier points and so in this Demonstration is inside the unit circle. (Recall that the convex hull of the points to consists of all convex combinations , where each is restricted to belong to the interval and the have to sum to unity: .)
The first control sets the number of Bézier points, which are chosen here as the roots of unity on the unit circle and count from to , with being the degree of the Bernstein polynomials belonging to the convex Bézier sum.
Click the "curve" button to see the curve . The curve for the whole parameter range is thin while the curve from 0 up to the current parameter value of is thick.
Click the "points" button to see the vectors from the origin to the Bézier points.
Click the "convex sum" button to see the convex combination , which is built up (starting with the origin) by putting each component as a vector on top of its predecessor , and thus creating "Bézier's polygon".
Click the "convex components" button to see the individual component as a multiple of its Bézier point vector , which can be seen after pressing the button; to emphasize this, click the "segment chart" button.
Click the button "length sum" to see that the Bernstein factors indeed form a partition of unity of the form , which covers 1 as the vector ranging from the origin (0,0) to the point in the plane.
The response time shortens if you use only some of the buttons.
To each number of points there corresponds a different Bézier curve. Choose a number!
Almost every item in the graphic is annotated, so mouseover them to see the explanations.

SNAPSHOTS

  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]

DETAILS

Bernstein polynomials, , are weighted multiples of and of the form , where is the degree, is the index running from 0 to , and . So, for each degree , there are polynomial functions from to . The only zeros of these functions are 0 and 1; the index counts the multiplicity of the root at 0 and counts the multiplicity of the root at 1. In addition, they are positive in , nonnegative in [0,1] and, for each , they sum to the constant function 1 on , so they constitute a partition of unity. This is why they can be used to build convex combinations.
In Mathematica these polynomials are denoted as BernsteinBasis[d,i,s].
Thinking of the variable as a parameter, a Bernstein vector of degree and parameter can thus be defined as , a vector of functions from to , with entries.
On the other hand, if the roots of unity on the unit circle are , then for every parameter value , the linear combinations are a convex combination of the points to . They lie within the convex hull of and thus within the unit circle.
Regarded as a mapping from to the plane, these linear combinations form a curve called the "basic Bézier curve of the points to ". A component is called the "Bézier part of "; the combination is also called the "Bézier sum of to ".
Note: "basic" means that we are talking about polynomial curves, not piecewise polynomials!
Snapshot 1: click the buttons one after the other; after any change mouse over the graphics to see explanations
Snapshot 2: the convex components are shown underlined by the corresponding segment chart
Snapshot 3: the convex sum and Bézier's polygon are shown, the length of its components indicated by the segment radius
Snapshot 4: the convex sum and Bézier's polygon are shown, the length of its components indicated by the length sum
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.









 
RELATED RESOURCES
Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2014 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+