keeping c1 continuity in joining several bezier curve

1.4k Views Asked by At

I have some complex curves, I separate the long curves to smallest one to be able to fit them with Bezier curve. However, my Bezier curve has no C1 continuously, if I force C1 continuously, my curves are will not be fitted enough to my real data. Do you have any efficient way to keep C1 continuously and data fitting simultaneously. Or do we have any other approach like using B-spline?

1

There are 1 best solutions below

0
On

By enforcing C1 continuity, you are removing degrees of freedom from your curve string, so it's natural that this would reduce its ability to fit data points.

You can use so-called "geometric continuity" instead -- make the string of Bezier curves G1, instead of C1. This just means that you make the tangent vectors at the junctions match in direction, but not necessarily in magnitude. This uses up fewer degrees of freedom, so it leaves more freedom available for fitting.

B-splines might help. A b-spline is just a sequence of Bézier curves strung together, so, in this sense, it doesn't give you any new possibilities. But, on the other hand, thinking about your problem in b-spline terms might be helpful, and b-spline algorithms might make the computations easier.