Finding B-spline for space spanned by Multi-dimensional Spline.

367 Views Asked by At

It's known that a B-spline of degree $p$ , $B_j^p(x)$ is completely determined by a knot vector $(u_j,u_{j+1},...,u_{j+p+1})$.

One could define it as: $B_j^p(x)=[u_j,u_{j+1},...,u_{j+p+1}](\cdot - x)^p_+$ where $[u_j,u_{j+1},...,u_{j+p+1}]f$ denotes the (p+1)-th divided difference of f in the points $\{u_l\}_{l=j}^{j+p+1}$.

Furthermore consider a Multi-dimensional B-spline (of dimension r) as the "union" of sets of B-splines with different quantities of internal knots.

For example: Consider a B-spline of 3-rd degree in the interval $[0,1]$ with one internal knot $0,5$: enter image description here

Now consider a B-spline of 3-rd degree in the interval $[0,1]$ with two internal knots $(1/3,2/3)$:enter image description here

The Multi-dimensional B-spline with internal knots $(0.333,0.5,0.666)$ would be: enter image description here

But the problem is that this Multi-dimensional B-spline is not actually a B-spline, if we construct a B-spline with internal knots at $(0.333,0.5,0.666)$ the result is quite different.

Because of that my question is: Is it possible to construct a B-spline spanning the space $\Omega$ spanned by the "Multi-dimensional B-spline"?

Any hint,suggestion,etc, will be greatly appreciated.

2

There are 2 best solutions below

2
On

As long as the degrees agree, you can just take the B-spline basis with that degree and a knot vector consisting of the same knots as the individual bases. The multiplicity of each know must be the same as its multiplicity in that of the individual bases where the knot has the largest multiplicity.

E.g. if the individual ones were $\{0,0,0,0,1/4,1/2,1,1,1,1\}$ and $\{0,0,0,0,1/3,1/2,1,1,1,1\}$, then $1/2$ should only be included with multiplicty one, even though it appears in both of the original knot vectors. I.e. you need $\{0,0,0,0,1/4,1/3,1/2,1,1,1,1\}$.

2
On

Given two B-spline curves of different degrees and different knot vectors, you can always use degree elevation and knot insertion to "unify" the degree and the knot vector (i.e., making the two curves having the same degree and sane knot vector) without changing the curve's shape. This is an essential step for constructing a B-spline surface from multiple B-spline curves using a technique called "lofting".

Please note that superimposing the basis function graphs of two B-spline curves will not give you the new basis function graph for the "unified" B-spline curve. In fact, the superimposed basis functions will not be valid basis functions for B-spline curve at all as the "partition of unity" property is no longer true.