As of Version 7.0, some of the functionality of the Splines Package is now built into the Wolfram Language kernel.

generates a SplineFunction object of the specified type from the points pt1,pt2,.


  • To use SplineFit, you first need to load the Splines Package using Needs["Splines`"].
  • A SplineFunction object is a function that parametrizes a curve specified by the points pt1,pt2,, such that an argument of 0 corresponds to pt1, 1 corresponds to pt2, etc.
  • Supported types are Cubic, Bezier and CompositeBezier.
  • A cubic spline is made of piecewise thirdorder polynomials, with C^(1) continuity, and interpolates each of the points it is created from. The second derivative of the spline at the endpoints is set to 0.
  • A Bézier spline interpolates only the endpoints. The other points control the spline, forming a convex hull. Given n points, a spline of degree n1 is created.
  • A composite Bézier spline is made up of a series of thirdorder Bézier curves with C^(1) continuity. It alternates interpolating points and control points.
  • In a composite Bézier spline generated from an even number of points the last two points are reversed so that the final point is interpolated and the next to last is a control point for the final segment; if the spline is generated from an odd number of points, then the final vertex is doubled.
  • The points pt1,pt2, are not restricted to two dimensions.

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

Click for copyable input

SplineFit returns a SplineFunction of the appropriate type:

Click for copyable input

Fit three types of splines to a random set of five points:

Click for copyable input

Plot the resulting splines:

Click for copyable input

SplineFit works in arbitrary dimensions:

Click for copyable input