It is likely I’m missing something, that’s why I’m asking. ;) I don’t have any experience with curvature Béziers. I don’t understand what you mean about the 5 point span, could you elaborate? With a symmetric tangent Bézier constraint, adjusting either a shared anchor, or adjusting a tangent direction or length, will result in some amount of non-zero movement in two Bézier segments, not one, right? I believe a curvature preserving constraint will do exactly the same, no? Preserving the user’s curvature intent across Bézier segments anchors is a worthwhile goal, but that does come at the cost of always modifying two Bézier segments at a time, doesn’t it? Are you suggesting that meeting the user’s curvature intent across segments doesn’t affect spline locality? And BTW we are talking about spline locality, right? I should have asked for clarification earlier. Control points within in a Bézier segment don’t have any locality, technically; move one and the entire segment must be recomputed. This is how I ended up at 7 control points - it’s all 4 control points of 2 consecutive segments with 1 shared anchor. I don’t understand how an edit to a cubic Bézier spline could correspond to a 5 point span.
It’s true B-splines are approximating and Béziers are considered interpolating (even though 50% of the control points are approximating), and that very well might be the primary or even only reason to choose Bézier for many design goals. It’s also true that with uniform B-splines you can choose to interpolate any given control point at the small cost of duplicating control points (and of course non-uniform B-splines have additional ways).
My only observation, of course, is just that B-splines have the built-in property that curvature is smooth across segments, so if that’s your main goal for a given task, they seem like a decent choice if you can accept the tradeoffs. It is, of course, possible to mix and match curve types.
Comments
It is likely I’m missing something, that’s why I’m asking. ;) I don’t have any experience with curvature Béziers. I don’t understand what you mean about the 5 point span, could you elaborate? With a symmetric tangent Bézier constraint, adjusting either a shared anchor, or adjusting a tangent direction or length, will result in some amount of non-zero movement in two Bézier segments, not one, right? I believe a curvature preserving constraint will do exactly the same, no? Preserving the user’s curvature intent across Bézier segments anchors is a worthwhile goal, but that does come at the cost of always modifying two Bézier segments at a time, doesn’t it? Are you suggesting that meeting the user’s curvature intent across segments doesn’t affect spline locality? And BTW we are talking about spline locality, right? I should have asked for clarification earlier. Control points within in a Bézier segment don’t have any locality, technically; move one and the entire segment must be recomputed. This is how I ended up at 7 control points - it’s all 4 control points of 2 consecutive segments with 1 shared anchor. I don’t understand how an edit to a cubic Bézier spline could correspond to a 5 point span.
It’s true B-splines are approximating and Béziers are considered interpolating (even though 50% of the control points are approximating), and that very well might be the primary or even only reason to choose Bézier for many design goals. It’s also true that with uniform B-splines you can choose to interpolate any given control point at the small cost of duplicating control points (and of course non-uniform B-splines have additional ways).
My only observation, of course, is just that B-splines have the built-in property that curvature is smooth across segments, so if that’s your main goal for a given task, they seem like a decent choice if you can accept the tradeoffs. It is, of course, possible to mix and match curve types.