Cubic Hermite spline

In numerical analysis, a cubic Hermite spline or cubic Hermite interpolator is a spline where each piece is a third-degree polynomial specified in Hermite form, that is, by its values and first derivatives at the end points of the corresponding domain interval.

[1] Cubic Hermite splines are typically used for interpolation of numeric data specified at given argument values

The data should consist of the desired function value and derivative at each

However, these two methods provide the same set of splines, and data can be easily converted between the Bézier and Hermite forms; so the names are often used as if they were synonymous.

Cubic polynomial splines are extensively used in computer graphics and geometric modeling to obtain curves or motion trajectories that pass through specified points of the plane or three-dimensional space.

In these applications, each coordinate of the plane or space is separately interpolated by a cubic spline function of a separate parameter t. Cubic polynomial splines are also used extensively in structural analysis applications, such as Euler–Bernoulli beam theory.

[3] Cubic splines can be extended to functions of two or more parameters, in several ways.

Bicubic splines (Bicubic interpolation) are often used to interpolate data on a regular rectangular grid, such as pixel values in a digital image or altitude data on a terrain.

Cubic splines are often called csplines, especially in computer graphics.

The formula specified above provides the unique third-degree polynomial path between the two points with the given tangents.

be two third-degree polynomials satisfying the given boundary conditions.

These can be written in different ways, each way revealing different properties: The "expanded" column shows the representation used in the definition above.

It shows that in a cubic Bézier patch the two control points in the middle determine the tangents of the interpolation curve at the respective outer points.

This permits efficient evaluation of the polynomial at various values of t since the constant coefficients can be computed once and reused.

, can be interpolated by applying the above procedure on each interval, where the tangents are chosen in a sensible manner, meaning that the tangents for intervals sharing endpoints are equal.

The interpolated curve then consists of piecewise cubic Hermite splines and is globally continuously differentiable in

The simplest choice is the three-point difference, not requiring constant interval lengths: for internal points

, and one-sided difference at the endpoints of the data set.

The curve is named after Edwin Catmull and Raphael Rom.

[7] Two additional points are required on either end of the curve.

The uniform Catmull–Rom implementation can produce loops and self-intersections.

The chordal and centripetal Catmull–Rom implementations[8] solve this problem, but use a slightly different calculation.

[9] In computer graphics, Catmull–Rom splines are frequently used to get smooth interpolated motion between key frames.

For example, most camera path animations generated from discrete key-frames are handled using Catmull–Rom splines.

They are popular mainly for being relatively easy to compute, guaranteeing that each key frame position will be hit exactly, and also guaranteeing that the tangents of the generated curve are continuous over multiple segments.

A Kochanek–Bartels spline is a further generalization on how to choose the tangents given the data points

as the values that a function f(x) takes at integer ordinates x = n − 1, n, n + 1 and n + 2, In addition, assume that the tangents at the endpoints are defined as the centered differences of the adjacent points:

denotes the floor function, which returns the largest integer no larger than x.

The bottom equality is depicting the application of Horner's method.

This writing is relevant for tricubic interpolation, where one optimization requires computing CINTu sixteen times with the same u and different p.

The four Hermite basis functions. The interpolant in each subinterval is a linear combination of these four functions.
Example with finite-difference tangents
Cardinal spline example in 2D. The line represents the curve, and the squares represent the control points . Notice that the curve does not reach the first and last points; these points do, however, affect the shape of the curve. The tension parameter used is 0.1
Geometric interpretation of Catmull–Rom cubic interpolation of the black point with uniformly spaced abscissae. [ 6 ]