# Is it possible to convert a B-Spline into a Bezier curve?

If so, do I lose any feature of the curve?

-

A b-spline curve can be regarded as a chain of Bezier curves, joined end-to-end.

In the special case where the "chain" consists of just one Bezier curve, the conversion is trivial/unnecessary, of course.

If the chain has more than one Bezier curve, then conversion to a single Bezier curve can not be done exactly (in general). You have two choices: either you can construct a single Bezier curve that approximates the b-spline curve, or you can convert the b-spline curve (exactly) to a collection of Bezier curves.

If you want to do approximation, you'll need to tell us how you will judge the quality of the approximation. Then we can suggest suitable methods.

If you want to convert to multiple Bezier curves, then you can do this by knot insertion. If your b-spline curve has degree $m$, then you just add knots until each knot has multiplicity $m$. The control points of the new refined b-spline curve are then the control points of its Bezier "pieces". The algorithm is often known as "Boehm's Algorithm", after Wolfgang Boehm.

-
Can you cite the source? – vinipsmaker May 7 '13 at 1:03
Almost any book on b-splines. For example: web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/node18.html – bubba May 7 '13 at 3:26
The original paper is: W. Boehm, Generating the Bezier points of B-spline curves and surfaces, Computer Aided Design 13(6) (1981), 365-366 – bubba May 7 '13 at 3:31