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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.