### French Curves and Bézier Splines

A French curve is a template, normally plastic, used for manually drawing smooth curves. These simple drafting instruments provided innocent if puerile merriment to generations of engineering students, but they have now been rendered obsolete by computer aided design (CAD) packages, which enable us to construct complicated curves and surfaces using mathematical functions called Bézier splines.

Bézier splines were first made popular by the automotive designer Pierre Bézier around 1962 when he was working for Renault. Bézier patented and popularised the use of these functions in computer aided design, but he was not their inventor.

An iterative binary algorithm for computing the curves had been devised some time earlier by another auto-engineer, Paul de Casteljau, working at Citroën. The mathematical functions underlying them had been introduced about a half-century earlier by the Russian mathematician, Sergei Bernstein and these are known as Bernstein basis polynomials.

Bernstein Polynomials

Sergei Bernstein (1880–1968) was born in Odessa. He was awarded a doctorate by the Sorbonne and worked for a year in Göttingen with David Hilbert. His mathematical work was on partial differential equations, differential geometry, probability theory and approximation theory. The Bernstein polynomials were introduced by him in 1912 when he gave a proof of the Weierstrass approximation theorem. This theorem states that any continuous function on a closed interval [a,b] can be uniformly approximated by polynomials, and Bernstein’s proof was constructive: it gave explicit expressions for the approximating functions.

The Bernstein polynomials, of orders 1, 2 and 3, are

B0,1(t) = t,       B1,1(t) = ( 1 – t ).

B0,2(t) = t2,       B1,2(t) = 2 t ( 1 – t ),       B2,2(t) = ( 1 – t )2.

B0,3(t) = t3,   B1,3(t) = 3 t2 (1 – t),   B2,3(t) = 3 t (1 – t)2,   B3,3(t) = (1 – t)3.

The figure below shows these Bernstein basis polynomials on [0,1] (from Joy, 1999)

The general Bernstein basis polynomial Bk,n(t) is defined as

Bk,n(t) = nCk tk (1-t)n-k ,        k = 0, 1, 2, … , n.

Bernstein polynomials are non-negative on [0,1] and satisfy a recurrence relationship

Bk,n(t) = ( 1 – t ) Bk,n-1(t) + t Bk-1,n-1(t)

They form a basis for the space of polynomials of degree less than or equal to n.

Expansions in Bernstein polynomials have a slow rate of convergence. For that reason, following Bernstein’s application to the Weierstrass theorem, these polynomials had little impact in numerical analysis. But interest in them was re-awakened in the 1960s, when Paul de Casteljau and Pierre Bézier showed their value in CAD.

Bézier splines

Pierre Bézier sought a quantitative description of the geometry of car bodies, and mathematical tools that would allow designers to construct and manipulate complex shapes. He defined curves with control points that could be used like handles to intuitively shape a curve or surface to the desired form. This led him to the functions we now call Bézier curves. They were soon found to be expressed in terms of Bernstein polynomials.

The linear, quadratic and cubic Bézier curves are

B1(t) = (1-t) P0 + t P1

B2(t) = (1-t)2 P0 + 2 t (1-t) P1 + t2 P2

B3(t) = (1-t)3 P0 + 3 t (1-t)2 P1 + 3 t2 (1-t) P2 + t3 P3

We can write the general n-th order Bézier curve as

Bn(t) = Σ Bk,n(t) Pk

where Bk,n(t) are the Bernstein polynomials, defined above.

The simplest Bézier curve is just linear interpolation between two control points, P0 and P1. The quadratic Bézier curve is a segment of a parabola between P0 and P2 such that the tangents at these end-points intersect at P1. Most commonly used is the cubic Bézier curve. For this, the positions of the end-points are specified by P0 and P3, and the directions of the curve at these points can be determined by the control points P1 and P2. Cubic Bézier curves can be joined to form complex curves called Bézier splines, which pass smoothly through a series of points. In fact, the term “spline” originates from a drafting instrument used by naval architects.

Bézier splines have a wide range of applications in computer graphics. They are powerful and intuitive to use in drafting diagrams and are used, for example, in the “Draw” program of OpenOffice. They are also used to describe the character shapes of scalable fonts in text processing programs like PostScript. Bézier splines are now indispensable tools for computer graphics, engineering design and animation.

Sources

Casselman, Bill, 2005: Mathematical Illustrations: a Manual of Geometry and PostScript. Cambridge Univ. Press, ISBN: 9-780-5215-4788-8.

Farouki, Rida T, 2012: The Bernstein polynomial basis: a centennial retrospective. J. Comp. Aided Geom. Design, 29, 379-419.

Joy, Kenneth I., 2000: Bernstein Polynomials: Online Geometric Modeling Notes. Comp. Sci. Dept., U. C. Davis.