How to | Work with Spline Functions

The Wolfram Language's powerful spline functionality includes both numeric and symbolic support. Built-in basis polynomials and efficient spline construction provide a way to research the properties of splines as well as to perform various mathematical tasks using splines.

The Wolfram Language provides two spline bases, BSplineBasis and BernsteinBasis. Like other special functions, they can be evaluated with numerical values:

BSplineBasis supports detailed control over the basis functions. For instance, the following plot illustrates a family of uniform quadratic B-spline basis functions by varying the second argument from to any positive integer:

A nonuniform B-spline basis can be represented by specifying a nondecreasing real sequence, called the knots. A knot sequence defines a set of B-splines. An individual basis can be specified by the second argument ranging from to , where is the length of the knot sequence and is the degree of the B-spline:

B-spline manifolds, such as curves and surfaces, can be represented as a sum of products between B-spline basis functions and points in a range space. For example, a typical B-spline curve in 2D can be represented using Dot: