Bézier Curves
Interactive Bézier curve explorer. Drag control points, watch de Casteljau’s algorithm subdivide in real time. Build intuition for how curves emerge from simple linear interpolation — the same mathematics behind every font you read and every smooth path in computer graphics.
de Casteljau, 1959 · Bézier, 1962 · P(t) = ∑ Bi,n(t) · Pi
What is a Bézier curve?
A Bézier curve is a parametric curve defined by a set of control points. The curve is generated by a single parameter t that sweeps from 0 to 1. At t = 0 the curve passes through the first control point; at t = 1 it passes through the last. In between, the curve is pulled toward the interior control points without (generally) touching them. The fundamental operation is linear interpolation (lerp): given two points A and B and a parameter t, the lerp is simply (1 − t) · A + t · B — a weighted average that slides smoothly from A to B. A Bézier curve applies this operation recursively: lerp between pairs of adjacent control points, then lerp between those results, and so on until a single point remains. That point is the curve’s position at parameter t. This recursive process is de Casteljau’s algorithm, and it reveals how a complex curve emerges from nothing more than repeated averaging.
De Casteljau’s algorithm
Paul de Casteljau developed this algorithm at Citroën in 1959, though his work remained proprietary and unpublished for years. The algorithm is beautifully simple: given n + 1 control points P0, P1, …, Pn and a parameter t, define intermediate points recursively as Pi(r) = (1 − t) · Pi(r−1) + t · Pi+1(r−1), where the base case Pi(0) is simply the original control point Pi. After n rounds of subdivision, a single point P0(n) remains — that point lies on the curve. The construction lines visible in this lab show every intermediate level. The algorithm is numerically stable: because it only uses convex combinations (weights that sum to 1 and are non-negative), it avoids the cancellation errors that plague direct evaluation of the Bernstein polynomial form, especially for high-degree curves.
History
Paul de Casteljau began developing his curve and surface algorithms at Citroën in 1959, using them to design automobile bodies. His work was treated as a trade secret and not published until the 1980s. Pierre Bézier, working independently at Renault starting around 1962, developed an equivalent formulation and published openly. Because Bézier published first, the curves bear his name — one of mathematics’ many naming ironies. Both formulations are mathematically equivalent to the Bernstein polynomial basis, described by Sergei Bernstein in 1912 for a completely different purpose (constructive proof of the Weierstrass approximation theorem). The convergence of automotive design, approximation theory, and computer graphics into a single mathematical object is one of the most elegant stories in applied mathematics.
Applications
Bézier curves are everywhere in digital design. TrueType fonts (used by
Windows and macOS) represent letter outlines as sequences of quadratic Bézier
curves. PostScript and OpenType CFF fonts use cubic Bézier
curves, which offer more control with fewer points. SVG and HTML Canvas path commands
(Q for quadratic, C for cubic) are Bézier curves.
Every smooth curve in Adobe Illustrator, Figma, or any vector graphics editor is a chain
of cubic Béziers. In computer-aided design (CAD), Bézier curves and their
generalization — B-splines and NURBS — define the surfaces of cars, aircraft,
and industrial products. Animation software uses Bézier curves for motion paths
and easing functions (the CSS cubic-bezier() timing function is a cubic
Bézier). Even robotics uses them for smooth trajectory planning.
Mathematical properties
Bézier curves have several elegant properties. Endpoint interpolation: the curve always passes through the first and last control points. Convex hull property: the curve lies entirely within the convex hull of its control points, which makes bounding-box tests trivial. Affine invariance: to transform a Bézier curve (translate, rotate, scale), you only need to transform the control points — the curve follows automatically. Variation diminishing: a line intersects the curve no more times than it intersects the control polygon, so the curve cannot be “wigglier” than its polygon. Tangent direction: the tangent at t = 0 points from P0 toward P1, and the tangent at t = 1 points from Pn−1 toward Pn. These properties make Bézier curves intuitive for designers: the control polygon provides a predictable, geometrically meaningful handle on the curve’s shape.