A B-spline blending curve formulation is:
$P(u)=\sum_{k=0}^np_k B_{k,d}(u)$
Given $n+1$ control points, B-spline blending functions are polynomials of degree $d-1$, $(1<d<=n+1)$.
This much is easy to comprehend.
Now comes the part I am not able to make any sense of.
Each polynomial function is defined over $d$ subintervals of the total range of $u$. The selected set of subinterval endpoints $u_j$ is referred to as a knot vector.
What is the purpose of knot vector? What is its physical significance?
$\endgroup$ 12 Answers
$\begingroup$The knots are the argument values where the polynomial pieces join together. Or, saying it another way, between any two consecutive knot values, the spline is just a polynomial. So, the knot vector reflects the choices you made about how to build your spline from polynomial pieces.
To understand how knot values affect the shape of curves, geometrically, I recommend you read about "blossoming" (also known as "polar forms"). There's a good introduction here. It's actually the knot intervals (distances between knot values) that affect the shape of the curve, not the knot values themselves.
$\endgroup$ $\begingroup$If you were to draw line segments between the knots (i.e. endpoints u_j) in the knot vector you'd get a jagged line. The spline is a smooth path that goes through the same set of knots.