Bézier curves are certain
polynomials first described in 1972 by the French engineer [Pierre Bézier]
? who used them to design automobile bodies.
The most important Bézier curves, the cubic ones, are used in
computer graphics and several imaging systems such as
PostScript, Metafont
? and
GIMP for drawing "smooth" curves.
TrueType fonts use the simpler quadratic Bézier curves.
Four points A, B, C and D in the plane or in three-dimensional space define a cubic Bézier curve.
The curve starts at A going toward B and arrives at D coming from C. In general, it will not pass through B or C; these points are only there to provide directional information.
The curve is always completely contained in the [convex hull]? of the four given points.
B o o C
_____
_,-' `-._
,' `.
/ \
* A D *
The parametric form of the curve is:
- P(t) = A(1 - t)3 + 3Bt(1 - t)2 + 3Ct2(1 - t) + Dt3 for 0 ≤ t ≤ 1.
Notice the
binomial pattern in the coefficients [1, 3, 3, 1].
The formula is inspired by the
binomial distribution.
Bézier curves are attractive in computer graphics for two main reasons:
- the points on a Bézier curve can be quickly computed using a recursive procedure which uses division by two as its fundamental operation and avoids floating point arithmetic altogether;
- affine maps (such as moving, scaling and rotating) on a Bézier curve can be done simply by applying the respective operation to the control points and then drawing the Bézier curve corresponding to the transformed points, perhaps with more or fewer interpolated segments depending on the scale factor.
Generalizing the cubic case leads to higher order curves which require more than four control points; however, these do not find much use in practice.
Instead, complicated curves are pieced together from cubic curves: the first has control points A, B, C, and D, the second has control points D, E, F, and G, and G1 continuity (i.e. smoothness of the curve) at D requires that the direction of D-C equal the direction of E-D.
See also: Spline?, [Bernstein polynomial]?, [Bézier surface]?
References
/Talk