Skip to main content

C0 and C1 continuity of Bezier sections

Short answer

C0: P0' = Pn. C1: tangents equal. For equal degree n, P1' = 2Pn − Pn−1, making Pn−1, Pn, P1' collinear with Pn as midpoint. For unequal degrees, n(Pn−Pn−1)=m(P1'−P0').

Explain how to satisfy C⁰ and C¹ continuity conditions when joining two Bezier curve sections together.

Let the first Bezier section have control points P0 … Pn and the second have P0' … Pm'. The join is at the end of the first (Pn) and the start of the second (P0').

C⁰ (position) continuity: the curves must meet at the join.

P0' = Pn

C¹ (first-derivative) continuity: the tangent vectors at the join must be equal. The end tangents are

  • P'(1) of the first = n(Pn − Pn−1)
  • P'(0) of the second = m(P1' − P0')

Setting them equal (for equal degree n = m): P1' − P0' = Pn − Pn−1, so

P1' = Pn + (Pn − Pn−1) = 2Pn − Pn−1

That is, Pn−1, Pn (= P0') and P1' must be collinear and Pn must be the midpoint of Pn−1 and P1' (same distances on both sides).

 Pn-1        Pn = P0'        P1'
  o-----------o------------o
 (first section)  (second section)

If the sections have different degrees: n(Pn − Pn−1) = m(P1' − P0').

For geometric continuity G¹ only the direction needs to match, so P1' can be anywhere on the line through Pn−1 and Pn on the other side of Pn, at any distance (tangents proportional).

Example (cubic sections): first section P0(0,0), P1(1,2), P2(3,2), P3(4,0). Second section must start at P0' = (4,0); for C¹, P1' = 2(4,0) − (3,2) = (5,−2).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Graphics chapter 5 questions →