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:




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:

enter image description here

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]


1 Answer 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.

  • $\begingroup$ 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 $\endgroup$ Commented Jul 11, 2016 at 14:44
  • $\begingroup$ 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. $\endgroup$
    – bubba
    Commented Jul 27, 2016 at 23:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .