This is not a technical explanation. Again, I refer you to Dr. Dierckx book .
In brief a spline is a mathematical technique which provides a "smooth" curve between points. It is the exact analog of the draftsman's french curve.The spline consists of a series of polynomials of degree k,
one polynomial for each data point. A polynomial of degree 3 has the form p(x) = a + bx + cx**2 + dx**3. The polynomials are also required to have continuous derivatives up to k-1. Thus a spline of degree 3, a "cubic" spline, has continuous 1st and 2nd derivatives. In physical terms you may
think of this by saying the velocity (1st derivative) and the acceleration (2nd derivative) are smooth. To evaluate, i.e. get the value of the spline at a location, the appropriate polynomial for that location must be evaluated. The appropriate range is defined by boundaries, termed knots or break points.
There is a knot for each input data point. Of necessity the spline curve goes through the input data points, no matter how wild the result may be.
A Bspline has fewer knots than the number of data points. Therefore the curve does not have to go through the data points. How closely it fits the data depends on the nature of the data, the number and position of knots, and the degree of the polynomial used. This makes bsplines very useful for curve fitting to data.
In the absence of the requirement to exactly fit the data points a Bspline algorithm must satisfy some other criteria. In ParamBSpline2 this is determined using the Mode parameter .
There are other types of splines. B(eta) splines relax the requirement of continuity and adding other requirements. Bezier curves and NURBs (Non Uniform Rational Bsplines) are other variants suited for user interaction with computer graphics software.
Forward
Backward Return to Home Page