I'm dealing with a problem to approximate some data points with B-Spline. I follow the method and implemented the algorithm from this site: Curve Global Approximation.
1) The first step is to calculate the control points from the given data points and spline degree. Knot vector is uniformly and ranges [0,1]. (e.g. a 3 degree Bspline with 6 control points has the knot vector [0, 0, 0, 0, 0.33333, 0.66667, 1, 1, 1, 1]) The parameter selection is based on the "Centripetal Method".
2) After obtaining the control points, I plotted the spline to see how the number of control points can affect the approximation. However, when the number of control points increases, the spline deviates a lot from the original polyline. But based on the results from the above link, it should produce a more accurate Bspline? or ??
3)How can I improve the approximation?
I'm not allowed to paste a figure yet, so here is the link to the figure A degree 4 B-Spline curve with different number of control Points
Thx for the help =)
The calculated control Points seem to locate far away from the Spline and original polylines. Should all control points always close to the original polylines?