2
$\begingroup$

I use B-spline curve fitting to obtain one smooth curve. If I obtain two smooth B-spline , how can I connect then smoothly. For example, I have 59 points((x0,y0,z0),...,(x58, y58, z58)) and I have two fitted B spline. One B-spline is for the first 30 points, another is for the next 30 points and the two point set share one common point((x29,y29,z29)). The point (x29,y29,z29) will be modified twice due to curve fitting and will have two new positions. If I just connect the two new positions, the final curve will not be smooth at the point (x29,y29,z29). Currently I perform curve fitting for all data together but that will modify the smooth curve for the first 30 points entirely. I hope to only modify the connecting part of the first smooth curve. I know I need to impose derivatives need to be equal at the joint. I don't know how to do that.

$\endgroup$
3
  • $\begingroup$ What you want is a multi-patch curve fitting. In two and three dimensions continuity higher than zero is still an active research area. If you want something quick I think you need to find a smart parametrization of your curve fitting. $\endgroup$ Oct 27, 2014 at 8:27
  • $\begingroup$ @NicolaCavallini I think it is one common operation to connect two patches smoothly in CAD design. I searched over the internet but didn't any good introductory or survey papers about it. Can you recommend any good papers? $\endgroup$ Oct 27, 2014 at 9:22
  • $\begingroup$ As far as I could see, you are trying to stitch to splines in order to preserve the C1-continuity. If I'm correct, then Eq. (11) in this paper accomplishes that: arxiv.org/pdf/1403.0728.pdf (A Novel Method for Vectorization) $\endgroup$ Oct 5, 2017 at 0:43

1 Answer 1

1
$\begingroup$

Fitting together B-splines with a given continuity is a hard problem. This was actually the motivation behind developing a generalization of NURBS called T-splines. There are many articles on T-splines and T-NURCCs that could be helpful to you if you're interested in going that route.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.