Skip to content

Comment on Curvature Beziers: Improving on a timeless recipeparent

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.