Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|cite|improve this question
up vote 2 down vote accepted

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.

share|cite|improve this answer
Can you cite the source? – vinipsmaker May 7 '13 at 1:03
Almost any book on b-splines. For example: – 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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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