B-Spline Curves through points
A tool to create B-Spline curves that pass through user selected data points
B-Spline Curves through points

This extension is similar to the free Bezier Curves through points extension but creates B-Spline curves instead. B-Spline curves consist of many polynomial pieces, offering more versatility than do Bezier curves.

The tool is activated by clicking on “B-Spline Curves through points” in the Draw menu.  It provides an input box, which can be brought up by clicking on Properties in the Right Mouse Button contextual menu anytime the tool is active, to specify

  • No. of data points - Enter the number of data points you want the curve to pass through. This is also displayed in the Value Control Box(VCB) and can be updated anytime there as well.
  • Degree - If Cr continuity is desired of a curve, choosing degree = r+1 is generally adequate. Each curve piece is only affected by degree+1 control points and is called the local control property of B-Splines. Notice how the curve of lower degree behaves “better” to perturbations in the data points and how the control polygon is much closer to the actual curve in the animation above.

The choice of the parameter values and knots also affects the shape and parameterization of the curve.

  • Parameter Values - The three methods of choosing the parameter values are
    1. Equally Spaced: This method is not recommended, as it can produce erratic shapes (such as loops) when the data is unevenly spaced;
    2. Chord Length: This is the most widely used method, and it is generally adequate. It also gives a "good" parameterization to the curve, in the sense that it approximates a uniform parameterization.
    3. Centripetal Method: This is a newer method which gives better results than the chord length method when the data takes very sharp turns
  • Knots - The two methods of choosing the knots are
    1. Equally spaced: This method is not recommended; if used in conjunction with chord length or centripetal methods for parameter values can result in singular system pf equations.
    2. Averaging: This is the recommended technique. With this method, the knots reflect the distribution of the parameter values.
  • No. of segments - Enter the number of segments used to display and represent the curve

Once the B-Spline curve(s) have been created, shamelessly plugging another paid extension of mine, you can use the NURBS Curve Manager to modify them further if required.