---
title: "Uniform cubic B-spline segment points"
subject: "Computer Aided Design"
chapter: 3
key: "semester_4/computer_aided_design:uniform-cubic-bspline-numerical"
source: https://www.bctengineer.com/q/semester_4/computer_aided_design/uniform-cubic-bspline-numerical
site: BCT Engineering
---

# Uniform cubic B-spline segment points

Computer Aided Design · Chapter 3: Mathematical Representation of Curves

- Asked in: year not given, 8 marks
- Video: [Cubic B Splines   Derivation](https://www.youtube.com/watch?v=yOugiIOd1ZY) — Alejandro Fermin
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_4/computer_aided_design/uniform-cubic-bspline-numerical
- Whole chapter: https://www.bctengineer.com/md/semester_4/computer_aided_design/chapter-3

## Question

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.

## 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).

## Answer

#### Matrix form
For one uniform cubic segment ($0\le u\le1$):

$$
\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

$$
\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
| $u$ | $N_0$ | $N_1$ | $N_2$ | $N_3$ | Sum |
|---|---|---|---|---|---|
| 0 | 1/6 | 4/6 | 1/6 | 0 | 1 |
| 0.5 | 0.0208 | 0.4792 | 0.4792 | 0.0208 | 1 |
| 1 | 0 | 1/6 | 4/6 | 1/6 | 1 |

#### Points
At $u=0$:

$$
x=\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.5$:

$$
\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=1$:

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

#### Tangents
$\mathbf P'(0)=\tfrac12(\mathbf P_2-\mathbf P_0)=\tfrac12(4,4)=(2,\ 2)$

$\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)$, a weighted average of $\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.**

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is P(0)?
   A. (1, 1)
   B. (2.333, 3.667)
   C. (2, 4)
   D. (3.521, 4.375)
   Answer: B. (P0 + 4P1 + P2)/6 = (14/6, 22/6). (Key point: Start point)

2. What are the weights at u = 0?
   A. 1, 0, 0, 0
   B. 1/4 each
   C. 1/6, 4/6, 1/6, 0
   D. 0, 1/6, 4/6, 1/6
   Answer: C. At u = 0, N0 = 1/6, N1 = 4/6, N2 = 1/6, N3 = 0. (Key point: Weights)

3. What is P'(0)?
   A. P1 - P0
   B. (P3 - P1)/2
   C. 3(P1 - P0)
   D. (P2 - P0)/2 = (2, 2)
   Answer: D. For a uniform cubic B-spline, P'(0) = ½(P2 - P0). (Key point: Tangent)

4. Does the segment touch the control points?
   A. No, starts at a weighted average of P0, P1, P2
   B. Yes, passes through P0
   C. Yes, through all four
   D. Passes through P1 and P2
   Answer: A. It approximates the polygon and starts away from P0. (Key point: Curve vs control points)

## Related in Computer Aided Design

- [Cubic Bezier point and tangent calculation](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Abezier-curve-numerical) — Computer Aided Design, chapter 3
- [Convert Hermite data to Bezier cubic](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Ahermite-to-bezier-conversion) — Computer Aided Design, chapter 3
- [Hermite curve points and tangents](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Ahermite-curve-numerical) — Computer Aided Design, chapter 3
- [Derive Hermite cubic curve and blending functions](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Ahermite-cubic-derivation) — Computer Aided Design, chapter 3
- [B-spline curve versus Bezier curve](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Abspline-vs-bezier) — Computer Aided Design, chapter 3
- [B-spline surface and its advantages](https://www.bctengineer.com/question.md?key=semester_4%2Fcomputer_aided_design%3Abspline-surface-vs-bezier-surface) — Computer Aided Design, chapter 4

## Related in other subjects

- [Draw Bezier curve through 4 control points](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Abezier-four-points-p0-0-0) — Computer Graphics, chapter 5
- [Get data from P0, send to P1 (asm and C)](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3A8051-p0-to-p1-assembly-c) — Embedded System, chapter 9
- [Liang-Barsky: P1(-5,3), P2(15,9)](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aliang-barsky-0-0-10-10) — Computer Graphics, chapter 3
- [Natural cubic spline: y(6.5)](https://www.bctengineer.com/question.md?key=semester_4%2Fnumerical_method%3Aspline-5-7-9-11) — Numerical Method, chapter 4, asked 3×
