Skip to main content

Uniform cubic B-spline segment points

Short answer

Using uniform cubic B-spline matrix: P(0)=(2.333,3.667), P(0.5)=(3.521,4.375), P(1)=(4.833,4.333). Tangents: P'(0)=0.5(P2-P0)=(2,2), P'(1)=0.5(P3-P1)=(2.5,-1).

A uniform cubic B-spline segment is defined by four control points P0 = (1, 1), P1 = (2, 4), P2 = (5, 5) and P3 = (7, 2). Write the matrix form and calculate the points on the segment at u = 0, 0.5 and 1. Also find the tangent at u = 0 and u = 1.

Matrix form

For one uniform cubic segment (0≤u≤10\le u\le1):

P(u)=16[u3u2u1][−13−313−630−30301410][P0P1P2P3]\mathbf P(u)=\frac16\begin{bmatrix}u^3&u^2&u&1\end{bmatrix} \begin{bmatrix}-1&3&-3&1\\3&-6&3&0\\-3&0&3&0\\1&4&1&0\end{bmatrix} \begin{bmatrix}\mathbf P_0\\\mathbf P_1\\\mathbf P_2\\\mathbf P_3\end{bmatrix}

This is equivalent to the blending functions

N0=16(1−u)3N1=16(3u3−6u2+4)N2=16(−3u3+3u2+3u+1)N3=16u3\begin{aligned} N_0&=\tfrac16(1-u)^3 \\ N_1&=\tfrac16(3u^3-6u^2+4) \\ N_2&=\tfrac16(-3u^3+3u^2+3u+1) \\ N_3&=\tfrac16u^3 \end{aligned}

Weights

uuN0N_0N1N_1N2N_2N3N_3Sum
01/64/61/601
0.50.02080.47920.47920.02081
101/64/61/61

Points

At u=0u=0:

x=1+4(2)+56=146=2.333,y=1+4(4)+56=226=3.667x=\frac{1+4(2)+5}{6}=\frac{14}{6}=2.333,\qquad y=\frac{1+4(4)+5}{6}=\frac{22}{6}=3.667

At u=0.5u=0.5:

x=0.0208(1)+0.4792(2)+0.4792(5)+0.0208(7)=3.521y=0.0208(1)+0.4792(4)+0.4792(5)+0.0208(2)=4.375\begin{aligned} x&=0.0208(1)+0.4792(2)+0.4792(5)+0.0208(7)=3.521 \\ y&=0.0208(1)+0.4792(4)+0.4792(5)+0.0208(2)=4.375 \end{aligned}

At u=1u=1:

x=2+4(5)+76=4.833,y=4+4(5)+26=4.333x=\frac{2+4(5)+7}{6}=4.833,\qquad y=\frac{4+4(5)+2}{6}=4.333

Tangents

P′(0)=12(P2−P0)=12(4,4)=(2, 2)\mathbf P'(0)=\tfrac12(\mathbf P_2-\mathbf P_0)=\tfrac12(4,4)=(2,\ 2)

P′(1)=12(P3−P1)=12(5,−2)=(2.5, −1)\mathbf P'(1)=\tfrac12(\mathbf P_3-\mathbf P_1)=\tfrac12(5,-2)=(2.5,\ -1)

The curve does not touch the control points; it starts at (2.333,3.667)(2.333, 3.667), a weighted average of P0,P1,P2\mathbf P_0,\mathbf P_1,\mathbf P_2.

Answer: P(0) = (2.333, 3.667); P(0.5) = (3.521, 4.375); P(1) = (4.833, 4.333); tangents (2, 2) at u = 0 and (2.5, -1) at u = 1.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Aided Design chapter 3 questions →