Unnecessary first and last knots of B-splines?

266 Views Asked by At

Given any B-spline with sorted knots $t_0,t_1,\dots,t_{n+1}$ and degree $p$, the domain of the curve is $[t_p,t_{n+1-p}]$. Outside of this domain the basis functions don't sum up to $1$. Inside the domain however I assume the first and last knot (that is $t_0$ and $t_{n+1}$) to not have any impact on the curve at all.

To furhter strenghten my claim, the same was said in this stackexchange answer: "Note that the first and the last knot are never used. They only affect those basis functions outside the range of x (where the basis isn't a partition of unity)".

Furthermore De Boor`s algorithm also seems to say the same. For some $t \in [t_p,t_{n+1-p}]$ let $k$ be the index such that $t \in [t_k,t_{k+1}]$. The factor which is used to linear interpolate the control points is calculated by $\frac{t-t_i}{t_{i+1+p-r}-t_i}$ with $r \in 1,\dots,p$ and $i \in k-p+r,\dots,k$. So the smallest knot which is still used by this equations is $t_i$ with $i = k-p+1$. As $k$ can only be as small as $p$ we have $t_1$ as the smallest knots used in the equations. The same can be shown for $t_n$.

If the above holds true, why do we still keep these knots? In most application we are only interested in the mentioned domain, aren't we? Am I missing something?

1

There are 1 best solutions below

0
On BEST ANSWER

No, you're not missing anything. There are (at least) two reasons for those extra two end knots:

  1. When you're writing algorithms that index into the knot sequence, it's a bit more convenient if the first and last "fake" knots are present. They don't affect the results because they are always multiplied by zero, but having them there avoids "index out of range" errors.

  2. When the IGES specification for data exchange was first formulated, the people writing the spec included the "fake" knots. At that time (around 1981), none of the people involved knew enough to correct the mistake, including me. A lot of people simply copied the mistake in later work.

The first reason is fact, the second is (partly) folklore.