This program enables you to explore some properties of cubic Bezier curves.

The yellow circle on the red cubic Bezier curve is always at the center of mass of the blue control points.

The number next to this yellow circle (the parameter) varies between 0 and 1.

As this number varies, the yellow circle moves along the red curve, and the blue control points increase or decrease in area.

The areas of the four blue circles always add up to 1. (NOTE: In this demo, the areas of the circles are rounded to two decimal places, so there can be cases where the sum of these rounded areas does not equal 1.)

The number near each blue circle is the area of that circle.

These areas are equal to the values of the functions whose green graphs are drawn next to the blue circles.

These functions are called Bernstein basis polynomials.

The black polyline connecting the blue control points is the control polygon for the Bezier curve. (NOTE: The Bezier curve is always tangent to its control polygon at the endpoints, no matter how you move the control points.)

Finally, the brown lines connecting the small orange circles illustrate DeCasteljau's algorithm for evaluating a point on the Bezier curve at a particular parameter value.
Starting with each edge of the control polygon, an orange circle is placed along that edge at a position determined by the current parameter value.
For instance, if the current parameter value is 0.38, then each new orange circle is placed 38% of the way along that edge.
Then new edges are created connecing successive orange circles, and the process is repeated, creating new orange circles and brown edges, until we finally arrive at the point on the curve.

Press the Start Animation button to start the animation.

Press the Stop Animation button to stop the animation.

Press the Explore With Mouse button to do your own exploration.

  1. You can click on any blue circle and drag it around to change the shape of the curve. The parametric position of the yellow circle will not change.
  2. You can click on the yellow circle and drag it along the curve and watch the areas of the blue circles change accordingly. The locations of the centers of the blue circles will not change.


Please send your questions or comments to the software developer at

You can also view the explanatory YouTube video at