Skip to main content

Derive Hermite cubic curve and blending functions

Short answer

A Hermite cubic is defined by endpoints P0, P1 and tangents P0', P1'. The curve is P(u)=F1 P0 + F2 P1 + F3 P0' + F4 P1' with blending functions F1=2u^3-3u^2+1, F2=-2u^3+3u^2, F3=u^3-2u^2+u, F4=u^3-u^2. It interpolates endpoints, tangents at ends are controlled, and segments join with C1 continuity if tangents match.

Derive the equation of a Hermite cubic curve in terms of its end points and end tangent vectors. Obtain the blending functions and write the equation in matrix form. State the properties of the curve.

A Hermite cubic segment is defined by two end points P0,P1\mathbf P_0,\mathbf P_1 and two end tangent vectors P0′,P1′\mathbf P_0',\mathbf P_1'.

Derivation

A cubic parametric curve is

P(u)=a3u3+a2u2+a1u+a0,0≤u≤1\mathbf P(u)=\mathbf a_3u^3+\mathbf a_2u^2+\mathbf a_1u+\mathbf a_0,\qquad 0\le u\le1

with tangent

P′(u)=3a3u2+2a2u+a1\mathbf P'(u)=3\mathbf a_3u^2+2\mathbf a_2u+\mathbf a_1

Apply the four boundary conditions:

P(0)=a0=P0P(1)=a3+a2+a1+a0=P1P′(0)=a1=P0′P′(1)=3a3+2a2+a1=P1′\begin{aligned} \mathbf P(0)&=\mathbf a_0=\mathbf P_0 \\ \mathbf P(1)&=\mathbf a_3+\mathbf a_2+\mathbf a_1+\mathbf a_0=\mathbf P_1 \\ \mathbf P'(0)&=\mathbf a_1=\mathbf P_0' \\ \mathbf P'(1)&=3\mathbf a_3+2\mathbf a_2+\mathbf a_1=\mathbf P_1' \end{aligned}

Solving:

a0=P0,a1=P0′a2=3(P1−P0)−2P0′−P1′a3=2(P0−P1)+P0′+P1′\begin{aligned} \mathbf a_0&=\mathbf P_0,\qquad \mathbf a_1=\mathbf P_0' \\ \mathbf a_2&=3(\mathbf P_1-\mathbf P_0)-2\mathbf P_0'-\mathbf P_1' \\ \mathbf a_3&=2(\mathbf P_0-\mathbf P_1)+\mathbf P_0'+\mathbf P_1' \end{aligned}

Substituting and collecting terms in P0,P1,P0′,P1′\mathbf P_0,\mathbf P_1,\mathbf P_0',\mathbf P_1':

P(u)=F1P0+F2P1+F3P0′+F4P1′\mathbf P(u)=F_1\mathbf P_0+F_2\mathbf P_1+F_3\mathbf P_0'+F_4\mathbf P_1'

Blending (Hermite) functions

F1=2u3−3u2+1F2=−2u3+3u2F3=u3−2u2+uF4=u3−u2\begin{aligned} F_1&=2u^3-3u^2+1 \\ F_2&=-2u^3+3u^2 \\ F_3&=u^3-2u^2+u \\ F_4&=u^3-u^2 \end{aligned}

Matrix form

P(u)=[u3u2u1][2−211−33−2−100101000][P0P1P0′P1′]\mathbf P(u)=\begin{bmatrix}u^3&u^2&u&1\end{bmatrix} \begin{bmatrix}2&-2&1&1\\-3&3&-2&-1\\0&0&1&0\\1&0&0&0\end{bmatrix} \begin{bmatrix}\mathbf P_0\\\mathbf P_1\\\mathbf P_0'\\\mathbf P_1'\end{bmatrix}

Properties

  • Passes through both end points (interpolates).
  • Tangent direction and magnitude at the ends are controlled; a larger tangent magnitude makes the curve stay longer in that direction.
  • F1+F2=1F_1+F_2=1 for every uu.
  • Two segments are joined with C1C^1 continuity by taking the same tangent at the common point.
  • Local control: changing one segment does not change the others.
  • Drawback: tangent vectors are not intuitive to the designer, which led to the Bezier form.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Aided Design chapter 3 questions →