Recently I read some course notes and articles on Bézier curves. They all sum up the properties of Bézier curves, like the partition-of-unity property of the basis functions (Bernstein polynomials), variation diminishing property of the curve (the curve doesn't wiggle/oscillate more than the control polygon does), and also the convex hull property.

Apparently the latter is an important property, but I cannot find why this would be the case. It has something to do with the numerical stability of convex combinations -- but then again, why are convex combinations more "numerically stable" than other types of combinations, like affine ones?

So, when one compares a Bézier curve to e.g. a Lagrange curve (which interpolates all its control points), the former curve remains inside the polygon spanned by its control points (the convex hull), while the latter doesn't. I know this is because a Bézier curve is created using only convex combinations while the Lagrange curve isn't. But why is this property so important? What makes it better than a Lagrange curve?

up vote 8 down vote accepted

The convex hull property guarantees that if your control points are all contained in a small region of space, then the curve won't shoot off arbitrarily far from there. See Runge's phenomenon. Better yet, try it yourself on Mark Hoefer's Lagrange interpolation applet: add points until there are twenty or so, then drag one of the points in the middle off the curve and see what happens. This is why the convex hull property is important for how easily you can control the curve using the control points.

Convex combinations are certainly also important for numerical stability. In an arbitrary affine combination, you could have very large positive and negative values being added together to give a modest result, and this cancellation of the higher-order bits would lose precision in the result. In fact, this does happen in Lagrange interpolation, because the basis functions oscillate far outside the $[0,1]$ range. On the other hand, with Bézier curves all the basis functions are positive, so no unnecessary cancellation happens, and you don't lose a lot of numerical precision relative.

  • But isn't this more or less the same as the "variation diminishing" property? – Ailurus Mar 11 '12 at 18:01
  • 1
    Yes, the variation diminishing property implies the convex hull property, because a line intersects the convex hull of the control points if and only if it intersects the control polygon at least once. But I remembered how convex combinations relate to numerical stability; please see my updated answer. – Rahul Mar 12 '12 at 1:33
  • Thanks for the update! I am not completely sure how this "cancellation of higher order bits" works, but I'm sure there are examples around. Indeed, earlier on I read that the non-negativity of the basis functions is also a good property to have, and it seems related to the numerical stability. – Ailurus Mar 12 '12 at 8:15
  • 1
    Perhaps you should read David Goldberg's What Every Computer Scientist Should Know About Floating-Point Arithmetic. An example of numerical error due to cancellation is the second example in the "Guard Digits" section, where he computes $10.1 - 9.93$ with three decimal digits of precision. – Rahul Mar 12 '12 at 8:39

The convex hull property is the basis of Bézier clipping, a technique for solving some problems adaptively. Prime examples are curve intersection and zero finding for ray tracing for instance. See Curve intersection using Bézier clipping by Sederberg and Nishita.

  • Thanks, I hope I'll have some time tomorrow to read this article. Looks interesting (and it sure has a lot of Figures)! – Ailurus Mar 11 '12 at 22:37

A Bezier curve will always be completely contained inside of the Convex Hull of the control points. For planar curves, imagine that each control point is a nail pounded into a board. The shape a rubber band would take on when snapped around the control points is the convex hull. For Bezier curves whose control points do not all lie in a common plane, imagine the control points are tiny balls in space, and image the shape a balloon will take on if it collapses over the balls. This shape is the convex hull in that case. In any event, a Bezier curve will always lie entirely inside its planar or volumetric convex hull. :)

The convex hull property is useful for doing a quick check prior to doing some more expensive calculation. For example, suppose I need to intersect two Bezier curves. It is fairly easy to determine that their convex hulls don't overlap. So, if I find that this is the case, there is no need to try to find the intersection, because there won't be one. Saying it another way, checks based on convex hulls can give you an "early exit" from geometric algorithms. This can lead to enormous speed increases.

The Bezier clipping algorithm mentioned above is one example, but there are many others. A few of them are:

  • Intersecting two curves (as above)
  • Deciding whether a point lies on a curve
  • Finding the Bezier curve (from some collection) that's closest to some given point
  • Intersecting a Bezier curve with a plane or a surface

The convex hull property is even more important with Bezier surfaces. This is because surface computations are typically more expensive, so an "early exit" is more valuable.

A couple of other points:

The fact that the basis functions are non-negative makes interactive control easier. When you displace a control point by a vector $v$, you are ensured that all points of the curve will be moved by some positive multiple of $v$, and therefore will move in the same direction as the control point.

The fact that the basis functions sum to 1 is crucial -- if this were not the case, the equation defining the Bezier curve wouldn't even make sense. Arbitrary linear combinations of points don't make sense; only affine combinations make sense.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.