Bézier Curves: How Four Points Create Beautiful Shapes

Written by

in

How can four points create a smooth curve? Cubic Bézier curves appear in fonts, vector graphics, animation, and computer-aided design. Their geometry is controlled by just four points, yet they can bend, change concavity, and even cross themselves.

1. Four control points and one curve

Let P₀, P₁, P₂, and P₃ be points in the plane. For 0 ≤ t ≤ 1, define

B(t)=1−t3P0+3t1−t2P1+3t21−tP2+t3P3

Operations on points are interpreted coordinatewise. The curve begins at P₀ and ends at P₃. The broken line P₀P₁P₂P₃ is the control polygon; the curve need not pass through its middle vertices.

A new numerical example

Choose P₀=(0,0), P₁=(2,5), P₂=(6,5), P₃=(8,0). Substitution and simplification give

x(t)=6t+6t2−4t3, y(t)=15t−15t2

For example, at t=1/2, the point is B(1/2)=(4,15/4). The symmetry of the control points produces a symmetric arch.

P0P1P2P3
Figure 1. Our new example (blue) and its dashed control polygon. The middle control points guide the shape but are not on the curve.

2. Why the curve stays in the convex hull

The four scalar weights are (1−t)³, 3t(1−t)², 3t²(1−t), and t³. They are nonnegative for 0 ≤ t ≤ 1, and their sum is

1−t3+3t1−t2+3t21−t+t3=(1−t+t)3=1

Proof. By definition, a convex combination of points is a weighted sum with nonnegative weights totaling one. Every B(t) is such a combination of the four control points. Hence the entire curve lies in their convex hull—the smallest convex region containing them. This remains true even if the curve has a loop.

3. Endpoint tangents

Differentiate the defining polynomial and group the terms:

B(t)′=31−t2(P1−P0)+6t1−t(P2−P1)+3t2(P3−P2)

Consequently,

B(0)′=3(P1−P0), B(1)′=3(P3−P2)

Thus, whenever the respective endpoint derivative is nonzero, the tangent line at the start follows P₀P₁, and the tangent line at the end follows P₂P₃. In our example these tangent vectors are (6,15) and (6,−15). Notice that these vectors specify tangent directions, not necessarily the direction of the entire control polygon.

4. De Casteljau’s algorithm: constructing the curve by interpolation

For a fixed t, interpolate successively between neighboring control points:

Qi=1−tPi+tPi+1 (i=0,1,2) Ri=1−tQi+tQi+1 (i=0,1,1) B(t)=1−tR0+tR1

Why it works. Substitute the formulas for Q₀,Q₁,Q₂ into those for R₀,R₁, then into the last expression. Collecting the coefficients of P₀ through P₃ produces exactly the cubic Bézier formula in Section 1.

At t=1/2, the first interpolation points are Q₀=(1,5/2), Q₁=(4,5), Q₂=(7,5/2); the next points are R₀=(5/2,15/4), R₁=(11/2,15/4). Their midpoint is (4,15/4), as expected.

P0P1P2P3
Figure 2. De Casteljau construction at t=1/2: orange first-stage interpolation, green second-stage interpolation, and the final black point on the curve.

5. Can a cubic Bézier curve have a loop?

Yes. Here is an exact construction, deliberately different from the textbook example. Consider the parametric cubic

x(t)=(t−12)2, y(t)=(t−12)((t−12)2−116)

At t=1/4 and t=3/4, both expressions yield the same point (1/16,0). Since the parameters are distinct, the curve crosses itself. Its Bézier control points, obtained by converting the cubic power coefficients to Bernstein form, are

P0=(14,−332); P1=(−112,1396); P2=(−112,−1396); P3=(14,332)
t=1/4 and 3/4
Figure 3. An exact cubic loop. The two parameter values 1/4 and 3/4 give the same crossing point.

6. Joining Bézier curves smoothly

Suppose one segment ends at P₃ and the next begins at Q₀. Three commonly used continuity conditions are:

C⁰: P₃=Q₀, so the pieces meet. G¹: their nonzero tangent vectors point in the same direction, so the tangent line has no corner. C¹: their tangent vectors are equal (for the chosen parameterization), so the first derivative is continuous.

C1: P3=Q0, 3(P3−P2)=3(Q1−Q0)

For a concrete S-shaped construction, take the first control polygon (0,0),(1,2),(2,2),(3,0) and the second (3,0),(4,−2),(5,−2),(6,0). Both derivatives at the join equal (3,−6), so the pieces meet with C¹ continuity. Equal tangents are stronger than merely collinear tangents.

join
Figure 4. Two cubic segments form an S-shaped path and meet with matching derivatives at (3,0).

7. Curvature, inflection points, and a cubic limitation

For a regular parametric curve B(t)=(x(t),y(t)), meaning B′(t)≠0, the unsigned curvature is

κ(t)=|x′(t)y″(t)−y′(t)x″(t)|(x′2+y′2)32

The numerator is the signed turning determinant. For cubic coordinate polynomials, x′ and y′ are quadratic while x″ and y″ are linear. Although the products appear cubic, their cubic terms cancel, leaving a polynomial of degree at most two. Therefore a nondegenerate regular planar cubic Bézier curve has at most two isolated interior inflection points, since changes in signed curvature can occur only at zeros of this quadratic.

In our arch example, x′=6+12t−12t² and y′=15−30t, while x″=12−24t and y″=−30. Hence

x′y″−y′x″=−360+360t−360t2=−360(1−t+t2)<0

The signed curvature never changes sign: this particular arch has no inflection point.

Discovery problems

  1. Midpoint identity. Express B(1/2) in terms of the four control points. What happens if P₀+P₃=P₁+P₂?
  2. Convex-hull challenge. Prove that every cubic Bézier curve stays in the convex hull of its control points. Does this still hold if the polygon is nonconvex?
  3. Exact self-intersection. For x(t)=(t−1/2)² and y(t)=(t−1/2)((t−1/2)²−1/16), find two distinct parameter values giving the same point and determine the crossing point.
  4. S-shaped design. Find two cubic Bézier curves from (0,0) to (3,0) and from (3,0) to (6,0) that meet with C¹ continuity and form an S-shaped path.

Solutions (click to reveal)

Solution 1: Midpoint identityB(12)=(P0+3P1+3P2+P3)8

If P₀+P₃=P₁+P₂, this simplifies to B(1/2)=(P₀+P₃)/2, the midpoint of the endpoints.

Solution 2: Convex hull

All four Bernstein weights are nonnegative on [0,1] and add to one by the binomial theorem. Therefore B(t) is a convex combination of the control points. The convex hull exists regardless of whether the control polygon is convex, so the conclusion remains true.

Solution 3: Exact crossing

At t=1/4 and t=3/4, the squared term is 1/16 and the second factor of y(t) vanishes. Thus both parameter values yield (1/16,0). The two tangent directions are distinct, so this is a genuine transverse crossing.

Solution 4: A smooth S

Use P₀=(0,0), P₁=(1,2), P₂=(2,2), P₃=(3,0), followed by Q₀=(3,0), Q₁=(4,−2), Q₂=(5,−2), Q₃=(6,0). The join points agree and 3(P₃−P₂)=(3,−6)=3(Q₁−Q₀). Hence the joined curve is C¹, and the opposite signs of the upper and lower arches create the S shape.

Bézier curves provide a way to construct smooth paths using a small number of control points. But can a continuous curve fill an entire square? Explore this surprising question in our article on space-filling curves .

Parametric equations are useful far beyond computer graphics. Another interesting application appears in The Sliding Ladder: Does It Slide or Jump? , where calculus helps describe the motion of a ladder.

Leave a Reply

Your email address will not be published. Required fields are marked *