Formula for the partial derivative of a bivariate tensor-product spline on a grid of points

144 Views Asked by At

I was reading the documentation for the spline interpolation routines in the Rogue Wave IMSL Fortran Numerical Library and found the following formula in the description of BS2GD:

$$ s^{(p,q)}(x,y)=\sum_{m=1}^{N_y}\sum_{n=1}^{N_x} c_{nm} B^{(p)}_{n,k_x,\mathbf{t}_x}(x) B^{(q)}_{m,k_y,\mathbf{t}_y}(y) $$

What do the $n$ and $m$ subscripts mean for the spline function terms $B$?

I only recently started learning about B-splines for my job, and I haven't encountered this subscript notation yet.

As far as I can tell, $n$ and $m$ correspond only to the spline coefficients $c$ and seem to be meaningless with respect to the $B$ terms.

2

There are 2 best solutions below

0
On

The $B$ terms are B-spline basis functions, which are indeed different for different control points and therefore the subscript $n$ and $m$. If you are just getting started on B-spline curves/surfaces, I suggested starting with B-spline curves, which is a lot easier to understand than B-spline surfaces. Here is the Wiki page for B-spline curves and you surely can find tons of articles on the web.

0
On

The $m$ and $n$ are dummy subscripts in the summations, so they don't really mean anything. In other words, the formula would have exactly the same meaning if you replaced $m$ and $n$ everywhere by $i$ and $j$, or by $\alpha$ and $\beta$.

The term $c_{nm}$ represents the $(n,m)$-th coefficient. These things can belong to any vector space whatsoever, actually. If they belong to $\mathbb{R}^3$, they are typically known as the "control points" or "control vertices" of the surface.

The $c_{nm}$ terms are completely independent from the basis functions (the "$B$" things).