Example of B-spline curves:
B-spline Case 1
Degree 3, 7 control points, Knot vector U = {0 0 0 0 0.25 0.5 0.75 1 1 1 1}.
B-spline Case 2
Since degree decreases, the curve obtains closer to the Control polygon. Degree = 1 coincides along the control polygon.
p = 1, U = {0,0,0.2, 0.4, 0.6, 0.8, 1, 1}
p = 2, U = {0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1}
p = 3, U = {0, 0, 0, 0, 0.33, 0.67, 1, 1, 1, 1}
p = 4, U = { 0, 0, 0, 0, 0, 0.5, 1, 1, 1, 1, 1}
p = 5, U = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1} [It is a Bezier]
B-spline Case 3
By utilizing coincident control points, this is possible to obtain straight lines. Degree = 2, U = {0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1}
B-spline Case 4
This instance shows the power of B-splines on Bezier, in terms of how closely we might control the shape of the curve along the control points.
Bezier : Degree 6, U = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}
B-Spline : Degree = 2, U = { 0, 0, 0, 0.2, 0.4, 0.6, 0.8, 1, 1, 1}
The above conversation shows the power and usefulness of the B-spline representation. Furthermore, while the mathematical expressions seem to be quite complicated, they are actually quite well behaved, and not too hard to program.