Is "Partition of Unity" a property of B-spline bases

2.4k Views Asked by At

Several sites about B-spline bases states that those have the "Partition of Unity"-property. Does that mean that the sum of the bases of a specific degree should be 1?

If the knot vector is {0,1,2}, there is 1 basis of degree 1, namely:

$$N_0^1(t) = \left\{ \begin{array}{ll} t & \quad 0\leq t< 1 \\ 2-t & \quad 1\leq t\leq 2 \end{array} \right.$$

So the sum of all bases of degree 1 is not 1.

What is wrong here?!

1

There are 1 best solutions below

1
On BEST ANSWER

On a given knot sequence, the b-spline basis functions of a given degree do form a partition of unity, roughly speaking.

Here are the details ...

To construct b-spline basis functions of degree $m$ (or order $k=m+1$) we start with a sequence of knots $t_0, \ldots, t_{n+k}$.

The b-spline basis functions of degree $m$ on this given knot sequence are defined recursively. We start with $$ \phi^{0}_i(t) = \begin{cases} 1 & \text{if $t_i \le t < t_{i+1}$} \\ 0 & \text{elsewhere} \end{cases} $$ Then, for $m \ge 1$ and $i=0,1,\ldots,n$ $$ \phi^{m}_i(t) = \frac{t - t_i} {t_{i+m} - t_i}\phi^{m-1}_i(t) + \frac{t_{i+m+1} - t} {t_{i+m+1} - t_{i+1}}\phi^{m-1}_{i+1}(t) $$ Then we have \begin{align*} \phi^{m}_i(t) &= 0 \quad \text{for} \;\; t_0 \le t \le t_{i} \\ \phi^{m}_i(t) &> 0 \quad \text{for} \;\; t_i < t < t_{i+k} \\ \phi^{m}_i(t) &= 0 \quad \text{for} \;\; t_{i+k} \le t \le t_{n+k} \end{align*} So $\phi^{m}_i$ is a "hat" shaped function that is non-zero over the $k$ spans where $t_i < t < t_{i+k}$ and zero elsewhere.

The $\phi^{m}_i$ form a partition of unity on the interval $[t_m,t_{n+1}]$: $$ \sum_{i=0}^n \phi^{m}_i(t) = 1 \qquad \text{for} \;\; t_{m} \le t \le t_{n+1} $$ Note that this holds only on the interval $[t_m,t_{n+1}]$.

So, what's wrong with your reasoning?

In your case, you are using knots $\{0,1,2\}$, and you're constructing basis functions with degree $m=1$ (order $k=2$). So, we have $n+k = 2$, and so $n=0$. So, we can construct one basis function $\phi^1_0$, and the theory tells us that it forms a partition of unity on the interval $[t_m,t_{n+1}] = [t_1,t_1] = [1,1]$. This is true, in some vacuous sense, but it's not very interesting.

If you want to define more interesting basis functions of degree 1 on the interval $[0,2]$, then you'll need more knots -- at least one more to the left of $0$, and one more to the right of $2$. You might use the knot sequence $\{0,0,1,2,2\}$, for example. Then you'll get three basis functions of degree $1$ defined on $[0,2]$ and they will again form a partition of unity.