I am curious if its possible to represent relaxed uniform cubic b-spline curves in knot vector form.

With relaxed uniform cubic b-spline curves, a curve with four control points represents 3 bezier curves that are joined together.

However, a clamped cubic b-spline with four control points must be represented with a knot vector [0,0,0,0,1,1,1,1]. This defines a single bezier curve, not 3 bezier curves that are join together.

Is there a different configuration of b-splines that can achieve the former?


1 Answer 1


Using the same control points as those of a bezier curve, you can get a B-spline identical to the bezier by choosing the knots to be $[0,0,0,0,1,1,1,1]$.

When you have any 3 beziers, you need the knots $[0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3]$ and the 12 bezier control points to represent the curve as a B-spline.

Because the beziers in a relaxed cubic B-spline join with $G^1$-continuity, the multiplicity of the interior knots can be reduced by 2:
$$u=[0,0,0,0,1,1,2,2,3,3,3,3]$$ If the bezier control points are $[c_0,\ldots,c_3]$, then the B-spline control points must be: $$\begin{align*}[c_0\ ,\ 2/3\cdot c_0+1/3\cdot c_1, \\&1/3\cdot c_0 + 2/3\cdot c_1\ ,\ 2/3\cdot c_1 + 1/3\cdot c_2, \\&1/3\cdot c_1 + 2/3\cdot c_2\ ,\ 2/3\cdot c_2 + 1/3\cdot c_3,\\&&\hspace{-0.9cm}1/3\cdot c_2+2/3\cdot c_3\ ,\ c_3]\end{align*}$$

Where the middle column is extendable in case of having more than 4 relaxed control points.

  • $\begingroup$ Thanks for the answer! I was able to recreate the relaxed uniform cubic spline in knot vector form. However, I needed to change the values of the middle column from: $1/3 * c_{i-1}, 2/3 * c_{i}$ to $1/3 * c_{i-1} + 2/3 * c_{i}, 2/3 * c_{i} + 1/3 * c_{i+1}$. However, I still don't quite understand why this knot vector works. Is there a reason why the user-facing control points are not used a b-spline control points. And are there any books/articles you would recommend to bring me up to speed? Seems like I don't have the most solid grasp on this. $\endgroup$ Aug 16, 2021 at 21:40

You must log in to answer this question.

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