0

Starting with a B-spline with $n$ knots, I want to split it into an array of degree $d$ Bezier curves. How many Bezier curves would I get?

Michael
  • 1,726
  • Cyclic (start point = end point) or not? – Eric Towers Oct 04 '24 at 03:47
  • @EricTowers, no, non-cyclic. I'm pretty sure the answer is $n-d$ for non-cyclic and $n$ for cyclic. but chasing a bug now, and a mistake in that is one of the possibilities. – Michael Oct 04 '24 at 16:24

2 Answers2

1

If $n$ is the number of distinct knot values, then the number of non-trivial Bézier segments is $n-1$.

The number of control points alone doesn’t tell you anything about the number of Bézier segments.

Look up Boehm’s algorithm. That’s what you use to convert a b-spline curve into a string of Bézier curves. It works just by inserting knots until each knot has multiplicity $d-1$, at which point the b-spline control points are the Bézier control points.

See these answers.

bubba
  • 44,617
0

If $n$ is the number of control points, then the number of Bezier curves would be $(n -d)$. If $n$ is the number of knots, then the number of Bezier curves would be $(n-2d-1)$.

fang
  • 3,630