Skip to main content

Hermite curve and blending functions

Short answer

A Hermite curve is a cubic interpolating curve defined by endpoints P0, P1 and tangent vectors Dp0, Dp1. Using blending functions: P(u) = P0(2u^3-3u^2+1) + P1(-2u^3+3u^2) + Dp0(u^3-2u^2+u) + Dp1(u^3-u^2). Segments join with C1 continuity by sharing tangents at joints.

Explain Hermite interpolation (Hermite curve for 3-degree polynomial) with the required expressions, i.e. the blending functions of a parametric cubic curve.

A Hermite curve is a cubic interpolating curve specified by its two end points P0 and P1 and the tangent vectors (derivatives) at those end points, Dp0 and Dp1.

Derivation: P(u) = a u³ + b u² + c u + d, so P'(u) = 3a u² + 2b u + c, 0 ≤ u ≤ 1.

Boundary conditions:

  • P(0) = d = P0
  • P(1) = a + b + c + d = P1
  • P'(0) = c = Dp0
  • P'(1) = 3a + 2b + c = Dp1

Solving: a = 2P0 − 2P1 + Dp0 + Dp1, b = −3P0 + 3P1 − 2Dp0 − Dp1, c = Dp0, d = P0.

Matrix form

                  |  2 -2  1  1 | | P0  |
P(u) = [u³ u² u 1]| -3  3 -2 -1 | | P1  |
                  |  0  0  1  0 | | Dp0 |
                  |  1  0  0  0 | | Dp1 |

Blending (Hermite) functions

P(u) = P0·H0(u) + P1·H1(u) + Dp0·H2(u) + Dp1·H3(u)

  • H0(u) = 2u³ − 3u² + 1
  • H1(u) = −2u³ + 3u²
  • H2(u) = u³ − 2u² + u
  • H3(u) = u³ − u²

H0 + H1 = 1. At u = 0, H0 = 1 and the rest are 0, so P(0) = P0. At u = 1, H1 = 1 so P(1) = P1. Changing the tangent magnitudes changes how tightly the curve bends. Hermite segments are joined with C¹ continuity by using the same tangent at the join.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Graphics chapter 5 questions →