A Bézier surface is a parametric tensor product surface defined by mathematical formulae, used in computer graphics, computer aided design, and finite element modelling. It can be viewed as a generalization of a Bézier curve.

Table of contents
1 Formula
2 Bézier surfaces in computer graphics
3 Bibliography
4 External links

Formula

Bézier surfaces were first described in 1972 by the French engineer Pierre Bézier who used them to design automobile bodies. Bézier surfaces can be of any degree, but bicubic Bézier surfaces generally provide enough degrees of freedom for most applications.

A Bézier surface of order (n,m) can be defined in terms of a set of (n+1)(m+1) control points ki,j for integer indices i = 0 to n, j = 0 to m.

Then the formula for the surface defined by these control points can be written as a mapping of the unit square in the 2-D parameter space (u, v), into the vector space of the control points thus:

where

is a one-dimensional "blending function", defined as a polynomial in u, weighted by , called the binomial coefficient, representing the number of ways i items can be chosen from n items.

Some properties of Bézier surfaces:

  • A Bézier surface will transform in the same way as its control points under all linear transformations and translations.
  • All u=constant and v=constant lines in the (u,v) space, and, in particular, all four edges of the deformed (u, v) unit square are Bézier curves.
  • A Bézier surface will lie completely within the convex hull of its control points, and therefore also completely within the bounding box of its control points in any given Cartesian coordinate system.
  • The points in the patch corresponding to the corners of the deformed unit square coincide with four of the control points.
  • However, a Bézier surface does not in general pass through its other control points.

Generally, the most common use of Bézier surfaces is as nets of bicubic patches (where m = n = 3). The geometry of a single bicubic patch is thus completely defined by a set of 16 control points. These are typically linked up to form a B-spline surface in a similar way to the way Bézier curves are linked up to form a B-spline.

Bézier surfaces in computer graphics

Bézier patch meshes are superior to meshes of triangles as a representation of smooth surfaces, since they are much more compact, easier to manipulate, and have much better continuity properties. In addition, other common parametric surfaces such as spheres and cylinders can be well approximated by relatively small numbers of cubic Bézier patches.

However, Bézier patch meshes are difficult to render directly. One problem with Bézier patches is that calculating their intersections with lines is difficult, making them awkward for pure ray tracing or other direct geometric techniques which do not use subdivision or successive approximation techniques. They are also difficult to combine directly with perspective projection algorithms.

For this reason, Bézier patch meshes are in general eventually decomposed into meshes of triangles by 3D rendering pipelines. In high-quality rendering, the subdivision is adjusted to be so fine that the individual triangle boundaries cannot be seen. To avoid a "blobby" look, fine detail is usually applied to Bézier surfaces at this stage using texture maps, bump maps and other pixel shader techniques.

The following two paragraphs are probably correct, can someone verify?

A Bézier patch of degree (m, n) may be constructed out of two Bézier triangles of degree m+n, or out of a single Bézier triangle of degree m+n, with the input domain as a square instead of as a triangle.

A Bézier triangle of degree m may also be constructed out of a Bézier surface of degree (m, m), with the control points so that one edge is squashed to a point, or with the input domain as a triangle instead of as a square.

See also:

Bibliography

  • Gerald Farin. Curves and Surfaces for CAGD, 5th ed. published by Academic Press. ISBN 1558607374.

External links

To do:
  • Numerical analysis and Bézier surfaces : mention de Casteljau's algorithm, problems with numerical stability if care is not taken