Bézier curves or Bézier splines 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 when joined into bezigons.
TrueType fonts use the simpler quadratic Bézier curves.
Four points A
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 the direction of C
. In general, it will not pass through B
; these points are only there to provide directional information. The distance between A
determines "how long" the curve moves into direction B
before turning towards 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
and shows that the curve is always completely contained in the convex hull
of the four given points.
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;
B:=(A+B)/2, C:=(B+C)/2, D:=(C+D)/2 (No language in particular)
- 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 to form bezigons: the first Bézier curve has control points A
, and D
, the second has control points D
, and G
, and if G1 continuity (i.e. smoothness of the curve) at D
is required, then the direction of C-D
needs to equal the direction of D-E
See also: Spline, Bernstein polynomial, Bézier surface, Bézier triangle, NURBS