Derivation of B-Spline basis function recursion formula

1.1k Views Asked by At

Can anyone explain the logic behind the derivation of the seemingly magical b-spline basis function recursion formula (deBoor-Cox)

$N_{i,0}(u)=1 $ if $u_i\leq u < u_{i+1}$ otherwise, $=0$

$N_{i,p}(u)=\frac{u-u_{i}}{u_{i+p}-u_{i}}N_{i,p-1}(u)+ \frac{u_{i+p+1}-u}{u_{i+p+1}-u_{i+1}}N_{i+1,p-1}(u)$

where $u_i$ is the ith knot in the knot vector, and p is the degree of the polynomial basis function. So, $N_{i,p}(u)$ is the ith B-Spline basis function of degree p.

I know these are just piece-wise polynomials, but how was this formula derived? I tried deriving b-spline basis functions with a given knot vector by blending 2 bezier basis functions on 2 intervals together with continuity constraints at the knot, but it didn't work out..

Can anyone offer some intution behind this recursion formula?