From Bezier Curve basis to B Spline basis functions

Bezier basis functions can be determined using recursion:

$B_{i,p} = (1-t)B_{i,p-1}+tB_{i-1,p}$

So for a quadratic bezier basis, we get:

$1-2t+t^2$

$2t-2t^2$

$t^2$

So for a quadratic bezier curve we simply take linear combinations of these basis functions and we get a curve in space.. But the problem is, if we introduce another control point, like in the image below, then we elevate the order so..

Enter B-splines! These are just piece-wise continuous bezier curves. But how can we derive the B-spline basis functions without using deBoor-cox recursion formula?

Let's consider this example:

How do I go about imposing $C^1$ continuity and partition of unity to obtain the basis functions for this example?

We can imagine that, for this example, we want to manually derive the B-spline basis functions corresponding to the knot vector: [0 0 0 .5 1 1 1]

Take your example of quadratic splines with knots $[0,0,0,0.5,1,1,1]$. We have to construct four basis functions $b_0, b_1, b_2, b_3$. Each of them has to be a piecewise quadratic with a joint at $t=0.5$.

By symmetry, $b_4(t) = b_0(1-t)$ and $b_3(t) = b_2(1-t)$, so we really only need to worry about $b_0$ and $b_1$.

We want the curve to start at $\mathbf{P}_0$, so we need $b_0(0) = 1$ and $b_i(0) = 0$ for $i=1,2,3$.

We want the curve derivative at $t=0$ to be a multiple of $\mathbf{P}_1 - \mathbf{P}_0$, which we get if $b_0'(0) = -b_1'(0)$, and $b_2'(0) = 0$ and $b_3'(0) = 0$.

There are numerous continuity conditions that also need to be satisfied, etc.

If you write down all the conditions, you will find that there is only one set of four piecewise quadratics that satisfies them -- the quadratic b-spline basis functions.

• Ok, it was the symmetry constraint I was missing. The reason I didn't want to use that is because what if the knot as at .8 instead! There would be no symmetry constraint – Mike James Johnson Jul 11 '16 at 14:44
• I think the same sort of approach will still work even if there is no symmetry. Just write down all the interpolation and continuity conditions, and you will find that there is essentially only one possible solution. Some sort of normalization condition may be needed to get uniqueness. – bubba Jul 27 '16 at 23:59