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?
Asked
Active
Viewed 40 times
0
-
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 Answers
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