Fact-checked by Grok 2 weeks ago

Cubic Hermite spline

A cubic Hermite spline is a type of spline curve composed of piecewise cubic polynomials that interpolate specified function values and first derivatives at a sequence of knots, ensuring continuity (continuous position and tangent) across the entire curve. This interpolation method constructs each segment as a cubic polynomial p_i(t) over an interval [x_i, x_{i+1}], satisfying p_i(x_i) = y_i, p_i'(x_i) = m_i, p_i(x_{i+1}) = y_{i+1}, and p_i'(x_{i+1}) = m_{i+1}, where y_i are the data values and m_i are the provided derivatives. The spline can be expressed using Hermite basis functions, such as H_{00}(t) = 2t^3 - 3t^2 + 1, H_{10}(t) = t^3 - 2t^2 + t, H_{01}(t) = -2t^3 + 3t^2, and H_{11}(t) = t^3 - t^2, allowing the curve to blend positions and tangents locally within each segment. Cubic Hermite splines offer significant advantages in and due to their locality—modifications to data at one affect only adjacent segments—and their ability to produce smooth curves without oscillations common in higher-degree global polynomials. Unlike natural cubic splines, which enforce by solving a tridiagonal for second derivatives, Hermite splines require only first derivatives as input, making them computationally simpler and more intuitive for user-specified tangents. The error in approximation is bounded by O(h^4), where h is the maximum length, assuming the fourth of the underlying is bounded, providing high accuracy for smooth data. These splines are widely applied in fields requiring smooth curve and path generation, including (CAD) for interactive curve editing via tangent handles, for keyframe with controlled velocities, and for that matches positions and velocities at waypoints. In , they enable the definition of paths through milestones with specified derivatives, facilitating collision-free robot movements. Additionally, extensions to spatial and Pythagorean Hodograph () forms support advanced applications like geometric sweeping and continuous paths in three dimensions.

Single Interval Interpolation

Unit Interval [0, 1]

The cubic Hermite spline on the unit interval [0, 1] is defined as a third-degree polynomial p(t) that interpolates given values y_0 and y_1 at the endpoints t = 0 and t = 1, while also matching specified derivatives m_0 = p'(0) and m_1 = p'(1). This formulation ensures the polynomial passes through the points (0, y_0) and (1, y_1) with the prescribed tangent slopes at each end, providing a smooth interpolant that is C^1-continuous at the boundaries when extended piecewise. The explicit form of this polynomial is given by p(t) = (2t^3 - 3t^2 + 1) y_0 + (t^3 - 2t^2 + t) m_0 + (-2t^3 + 3t^2) y_1 + (t^3 - t^2) m_1, for t \in [0, 1]. This expression arises from solving the system of four conditions imposed by the values and derivatives at the endpoints, resulting in a unique cubic polynomial. Equivalently, p(t) can be expressed in terms of four cubic basis functions: \begin{align*} h_{00}(t) &= 2t^3 - 3t^2 + 1, \\ h_{10}(t) &= t^3 - 2t^2 + t, \\ h_{01}(t) &= -2t^3 + 3t^2, \\ h_{11}(t) &= t^3 - t^2, \end{align*} such that p(t) = h_{00}(t) y_0 + h_{10}(t) m_0 + h_{01}(t) y_1 + h_{11}(t) m_1. These basis functions satisfy h_{00}(0) = 1, h_{00}(1) = 0, h_{00}'(0) = 0, h_{00}'(1) = 0, and analogous properties for the others, ensuring the interpolation conditions hold. For curves in form, the spline is written as \mathbf{r}(t) = h_{00}(t) \mathbf{P}_0 + h_{10}(t) \mathbf{M}_0 + h_{01}(t) \mathbf{P}_1 + h_{11}(t) \mathbf{M}_1, where \mathbf{P}_0 and \mathbf{P}_1 are position s at the endpoints, and \mathbf{M}_0 and \mathbf{M}_1 are the corresponding s (scaled by the interval length if needed). This extends the scalar case to multidimensional paths, commonly used in and .

Arbitrary Interval

To extend the cubic Hermite interpolation from the unit [0, 1] to an arbitrary finite [a, b], a linear parameter substitution is employed. Define s = \frac{t - a}{b - a}, where t \in [a, b] maps to s \in [0, 1]. The interpolating p(t) on [a, b] is then p(t) = q(s), with q(s) being the cubic Hermite satisfying the conditions on [0, 1]. The chain rule implies that the derivative transforms as p'(t) = \frac{dq}{ds}(s) \cdot \frac{ds}{dt} = \frac{q'(s)}{b - a}, since \frac{ds}{dt} = \frac{1}{b - a}. Consequently, when applying the unit interval formula, the specified endpoint derivatives m_a = p'(a) and m_b = p'(b) on [a, b] must be scaled to unit-interval equivalents m_a (b - a) and m_b (b - a). For example, consider interpolating between points (x_0, y_0) and (x_1, y_1) with slopes m_0 and m_1, setting a = x_0 and b = x_1. With s = \frac{x - x_0}{x_1 - x_0}, the becomes p(x) = h_{00}(s) y_0 + h_{10}(s) (x_1 - x_0) m_0 + h_{01}(s) y_1 + h_{11}(s) (x_1 - x_0) m_1, where h_{00}(s), h_{10}(s), h_{01}(s), and h_{11}(s) are the standard cubic Hermite basis functions on [0, 1]. This parameter transformation is essential for piecewise cubic Hermite splines, enabling over unequally spaced knots in fields such as and numerical approximation.

Uniqueness

Given the endpoint conditions y(0), y'(0), y(1), and y'(1), there exists exactly one cubic p(t) = a t^3 + b t^2 + c t + d satisfying p(0) = y(0), p'(0) = y'(0), p(1) = y(1), and p'(1) = y'(1). Uniqueness follows from the structure of the space of cubic polynomials, which has dimension , matching the number of independent conditions. To prove this, suppose two distinct cubic polynomials p(t) and q(t) both satisfy the conditions. Then r(t) = p(t) - q(t) is a cubic polynomial (degree at most 3) with r(0) = r'(0) = r(1) = r'(1) = 0, implying roots of multiplicity at least 2 at t=0 and t=1. Thus, r(t) must be of the form k t^2 (t-1)^2 for some constant k. However, t^2 (t-1)^2 = t^4 - 2t^3 + t^2 has degree 4, which exceeds degree 3 unless k = 0, so r(t) \equiv 0 and p(t) = q(t). Equivalently, the four conditions yield a $4 \times 4 for the coefficients a, b, c, d, with coefficient matrix a confluent that is invertible (determinant nonzero). No other of degree at most 3 can satisfy these value and first-derivative conditions simultaneously at the endpoints. Polynomials of higher degree could also satisfy them but would not be unique without further constraints to fix the additional . This result is a special case of the general Hermite interpolation theorem for the scenario with two distinct points and conditions on the function value plus first derivative at each (total of four conditions), guaranteeing a unique interpolating polynomial of degree at most 3.

Representations

The cubic Hermite spline on the unit interval [0, 1] admits a compact matrix representation that facilitates numerical evaluation and composition of segments. Specifically, the position \mathbf{p}(t) is given by \mathbf{p}(t) = \begin{bmatrix} t^3 & t^2 & t & 1 \end{bmatrix} M_H \begin{bmatrix} \mathbf{p}_0 \\ \mathbf{p}_1 \\ \mathbf{p}'_0 \\ \mathbf{p}'_1 \end{bmatrix}, where M_H is the Hermite basis matrix M_H = \begin{bmatrix} 2 & -2 & 1 & 1 \\ -3 & 3 & -2 & -1 \\ 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 \end{bmatrix}, \mathbf{p}_0 and \mathbf{p}_1 are the endpoint positions, and \mathbf{p}'_0 and \mathbf{p}'_1 are the endpoint tangent vectors. This form arises from the polynomial basis by applying the change-of-basis transformation that incorporates the Hermite boundary conditions. An equivalent representation expresses the cubic Hermite spline as a cubic , which uses four control points \mathbf{b}_0, \mathbf{b}_1, \mathbf{b}_2, \mathbf{b}_3 via the standard Bézier formula \mathbf{p}(t) = (1-t)^3 \mathbf{b}_0 + 3(1-t)^2 t \mathbf{b}_1 + 3(1-t) t^2 \mathbf{b}_2 + t^3 \mathbf{b}_3. The control points are derived from the Hermite data as \mathbf{b}_0 = \mathbf{p}_0, \mathbf{b}_1 = \mathbf{p}_0 + \frac{1}{3} \mathbf{p}'_0, \mathbf{b}_2 = \mathbf{p}_1 - \frac{1}{3} \mathbf{p}'_1, and \mathbf{b}_3 = \mathbf{p}_1. The mapping between Hermite and Bézier forms is bidirectional and exact, owing to the uniqueness of the interpolating satisfying the position and conditions. The inverse conversion yields the tangents from Bézier points via \mathbf{p}'_0 = 3(\mathbf{b}_1 - \mathbf{b}_0) and \mathbf{p}'_1 = 3(\mathbf{b}_3 - \mathbf{b}_2). The matrix form streamlines matrix-vector multiplications for repeated evaluations and enables efficient assembly of composite splines through block-diagonal constructions. In turn, the Bézier representation integrates seamlessly with established pipelines in hardware that natively accelerate Bézier rendering.

Data Set Interpolation

Finite Difference Approach

The finite difference approach provides a straightforward method for approximating the first derivatives at data points when constructing piecewise cubic Hermite splines from a discrete set of points (t_i, y_i) for i = 0, 1, \dots, n, where the t_i are strictly increasing. For interior points ($1 \leq i \leq n-1), the derivative m_i is approximated using the central finite difference formula: m_i \approx \frac{y_{i+1} - y_{i-1}}{t_{i+1} - t_{i-1}}. This second-order accurate approximation leverages values from adjacent intervals to estimate the slope at t_i. At the endpoints, where neighboring points on one side are unavailable, one-sided differences are used. For the initial point, a forward difference gives m_0 \approx \frac{y_1 - y_0}{t_1 - t_0}, while for the final point, a backward difference yields m_n \approx \frac{y_n - y_{n-1}}{t_n - t_{n-1}}. These approximations are simpler but less accurate than central s, though they suffice for estimates in many applications. With the approximated derivatives m_i, the piecewise cubic Hermite spline is then built on each subinterval [t_i, t_{i+1}] using the function values y_i, y_{i+1} and derivatives m_i, m_{i+1} via the arbitrary interval representation, ensuring C^1 continuity across knots. When the data points are uniformly spaced with constant step size h = t_{i+1} - t_i, the central difference simplifies to m_i = \frac{y_{i+1} - y_{i-1}}{2h} for interior points, offering consistent second-order accuracy O(h^2) across the domain. This approach is computationally simple and strictly local, as each m_i depends only on immediate neighbors, facilitating efficient implementation for large datasets. However, approximations can amplify noise in the data, potentially causing unwanted oscillations in the resulting spline, especially for irregular or erroneous input points.

Example

Consider interpolating the dataset with points (t_i, y_i) given in the table below, representing a sampled over [0, 4]:
it_iy_i
00.00.0
11.02.0
22.00.5
33.02.5
44.01.0
The derivatives are approximated as follows: m_0 \approx (2.0 - 0.0)/1.0 = 2.0, m_1 \approx (0.5 - 0.0)/(2.0 - 0.0) = 0.25, m_2 \approx (2.5 - 2.0)/(3.0 - 1.0) = 0.25, m_3 \approx (1.0 - 0.5)/(4.0 - 2.0) = 0.25, m_4 \approx (1.0 - 2.5)/1.0 = -1.5. Each segment [t_i, t_{i+1}] then uses these values to form the cubic pieces. The following pseudocode outlines the derivative approximation step:
function approximate_derivatives(t, y):
    n = length(t) - 1
    m = array of size n+1
    h = t[1] - t[0]  // assume uniform for simplicity; generalize as needed
    m[0] = (y[1] - y[0]) / h  // forward
    for i = 1 to n-1:
        m[i] = (y[i+1] - y[i-1]) / (2 * h)  // central
    m[n] = (y[n] - y[n-1]) / h  // backward
    return m

Cardinal Splines

Cardinal cubic Hermite splines introduce a tension parameter c \in [0, 1] to control the shape of the interpolating curve during data set interpolation, generalizing the fixed tangent choices of other methods. The tangents at each interior knot t_i are computed as m_i = c \frac{y_{i+1} - y_{i-1}}{t_{i+1} - t_{i-1}}, where (t_i, y_i) are the data points. When c = 0, the tangents vanish, resulting in curves that approximate straight line connections between points with minimal deviation. When c = 1, the formula reduces to the standard central finite difference quotient, yielding the classical cardinal spline configuration. This approach extends the by scaling the with c, allowing tunable while maintaining the use of neighboring points to estimate . The resulting spline ensures C^1 across knots, as the cubic Hermite basis inherently matches positions and first at endpoints of each . As c \to 0, the spline tends toward a piecewise linear interpolant, exhibiting reduced and overshoot near the points. Conversely, as c \to \infty, the tangents grow large, causing the curve to become flatter near the knots before curving sharply to connect distant points, which can amplify oscillations. Varying c thus provides a means to balance fidelity to the against ; for example, low c values (e.g., 0.2) minimize overshoot in oscillatory sets, while higher values (e.g., 0.8) enhance the curve's responsiveness to trends in the neighbors. The cardinal basis property for splines on uniform grids was introduced by I. J. Schoenberg in as a method for interpolating functions on equidistant grids using piecewise polynomials with basis functions that are unity at their and zero at others, facilitating efficient approximation of analytic functions from discrete data. Tension-controlled variants using scaled finite differences in the Hermite framework were developed later for applications in and , where adjustable c enables shape control.

Catmull–Rom Splines

Catmull–Rom splines represent a specific variant of cubic Hermite splines designed for local , where the tangent vectors at each control point are computed directly from the positions of neighboring points without requiring additional user-specified derivatives. Introduced by and Raphael Rom in 1974, these splines were developed primarily for applications in , particularly for generating smooth paths in systems. The approach ensures that the resulting passes exactly through all given data points while maintaining a simple computational structure suitable for real-time rendering and path planning. In the uniform parameterization case, where control points are equally spaced (t_i = i), the tangent vector m_i at point y_i is given by the central difference approximation: m_i = \frac{1}{2} (y_{i+1} - y_{i-1}) This formula arises from averaging the forward difference (y_{i+1} - y_i) and backward difference (y_i - y_{i-1}), scaled appropriately for the Hermite basis. For non-uniform spacing with h_{i-1} = t_i - t_{i-1} and h_i = t_{i+1} - t_i, the generalized form to preserve the uniform behavior is m_i = \frac{ h_i^2 (y_i - y_{i-1}) + h_{i-1}^2 (y_{i+1} - y_i) }{ h_{i-1} h_i (h_{i-1} + h_i) }. These tangents enable the construction of cubic polynomials for each interval [t_i, t_{i+1}], ensuring the spline interpolates the points and has local support—each segment is influenced only by the two nearest neighbors on either side. Catmull–Rom splines exhibit C^1 continuity, meaning position and first derivatives are continuous at the knots, which provides smooth transitions without cusps or sharp corners. They are equivalent to cardinal splines with a fixed tension parameter c = 1/2, a value that balances locality and smoothness while reducing oscillations compared to cruder finite difference tangent estimates. This equivalence highlights their role as a special case within broader families of interpolating splines, offering efficient computation and minimal overshoot in regions of high curvature. A practical example of their application is in keyframe for , where control points represent positions at specific times, and the spline generates intermediate frames with smooth trajectories that avoid excessive deviations, facilitating natural motion paths for animated objects.

Kochanek–Bartels Splines

Kochanek–Bartels splines, also known as splines, extend the Catmull–Rom spline by introducing three local control parameters to provide animators and users with finer adjustment over the shape of the interpolating curve. These parameters are T, which controls the sharpness of the curve at knots; C, which governs the smoothness or presence of corners; and bias B, which introduces asymmetry in the tangent direction. Each parameter ranges from -1 to 1, with 0 corresponding to neutral behavior equivalent to the Catmull–Rom spline. Positive values tighten the curve toward the control polygon, reducing overshoot, while negative values loosen it for rounder loops; near 0 maintains C^1 smoothness, whereas C = 1 creates inverted corners and C = -1 boxy ones; bias shifts emphasis, with positive values favoring incoming tangents (post-shoot) and negative favoring outgoing (pre-shoot). The tangent vectors at each knot are computed separately for incoming and outgoing directions to allow for discontinuities when desired, forming the basis for the cubic Hermite segments. For the outgoing tangent m_i at knot i (assuming uniform spacing h = 1 for simplicity), the formula is: m_i = \frac{(1 - T)(1 + C)(1 + B)}{2} (y_i - y_{i-1}) + \frac{(1 - T)(1 - C)(1 - B)}{2} (y_{i+1} - y_i) The incoming tangent at i swaps the continuity terms: \frac{(1 - T)(1 - C)(1 + B)}{2} (y_i - y_{i-1}) + \frac{(1 - T)(1 + C)(1 - B)}{2} (y_{i+1} - y_i). For non-uniform spacing with intervals h_{i-1} = x_i - x_{i-1} and h_i = x_{i+1} - x_i, the differences are normalized as slopes (y_i - y_{i-1})/h_{i-1} and (y_{i+1} - y_i)/h_i, then the resulting tangents are scaled by the local interval lengths to obtain derivatives dy/dx. When T = 0, C = 0, and B = 0, the formulas recover the Catmull–Rom tangents \frac{1}{2}(y_{i+1} - y_{i-1}); T = 1 yields zero tangents, approximating piecewise linear interpolation by eliminating curvature at knots; and C = 1 enforces zero second derivative at knots for sharper transitions. Developed by Doris H. Kochanek and Richard H. Bartels, these splines were introduced in specifically for keyframe systems, where they enable precise control over motion paths between specified poses. In practice, they are widely used for adjustable easing functions in and software, allowing curves to simulate realistic acceleration, deceleration, or stylized effects without requiring additional control points.

Monotone Variants

Standard cubic Hermite splines, when constructed using typical derivative estimation methods like finite differences, can produce unwanted wiggles or overshoots in regions where the input data is strictly monotone, as the unrestricted derivatives may cause the interpolant to violate the data's monotonicity. Monotone variants mitigate this issue by constraining the derivatives (tangents) at the knots to ensure the piecewise cubic interpolant preserves the monotonicity of the data set. A basic adjustment sets the derivative m_i = 0 at knot i if the adjacent secant slopes change sign, indicating a local extremum. Otherwise, the magnitude is bounded by |m_i| \leq \min\left( \frac{\Delta y_\text{left}}{h_\text{left}}, \frac{\Delta y_\text{right}}{h_\text{right}} \right), often scaled by a factor such as 3 to balance smoothness and monotonicity preservation while avoiding flat segments. The Fritsch–Carlson method offers a specific formulation for interior knots that enforces these constraints effectively. For a data set \{(x_j, y_j)\} with h_j = x_{j+1} - x_j, \Delta y_\text{left} = y_i - y_{i-1}, \Delta y_\text{right} = y_{i+1} - y_i, \Delta y_\text{avg} = \frac{\Delta y_\text{left} + \Delta y_\text{right}}{2}, and h = h_{i-1} + h_i, the derivative is m_i = \operatorname{sign}(\Delta y) \cdot \min\left( \frac{|\Delta y_\text{left}| \cdot |\Delta y_\text{right}|}{\Delta y_\text{avg} \cdot h}, \frac{3 \Delta y_\text{avg}}{h_\text{left} + h_\text{right}} \right), where \Delta y denotes the local slope direction. This choice selects the smaller of a product-based (resembling a adjustment) and a scaled to keep the cubic within the monotonicity . These variants yield a C^0-continuous interpolant that is not always C^1-continuous, particularly when derivatives are zeroed at extrema, but they reliably prevent the introduction of extraneous local extrema or points that could reverse the trend. The approach maintains third-order accuracy away from strict local extrema, where accuracy reduces to second-order. Such methods find applications in scientific visualization and , particularly for plotting inherently increasing functions like cumulative distribution functions (CDFs) in , where preserving non-decreasing behavior is essential to avoid misleading representations of probabilistic data. They are also used in numerical solutions of ordinary differential equations (ODEs) to generate reliable plots of monotone solution components without oscillatory artifacts.

Special Interpolation Cases

Matched Derivatives at Endpoints

In cubic Hermite interpolation over the unit interval [0, 1], the goal is to construct a cubic p(t) that satisfies the endpoint conditions p(0) = y_0, p(1) = y_1, and the prescribed conditions p'(0) = m_0, p'(1) = m_1, where m_0 and m_1 are specified externally rather than derived from . This setup is particularly useful when boundary conditions require exact matching of slopes at the endpoints, such as in physical simulations or when ensuring with adjacent segments. The explicit form of the interpolating polynomial is given by \begin{align*} p(t) &= (2t^3 - 3t^2 + 1) y_0 + (t^3 - 2t^2 + t) m_0 \\ &\quad + (-2t^3 + 3t^2) y_1 + (t^3 - t^2) m_1, \end{align*} for t \in [0, 1], which directly incorporates the input values and derivatives without additional computation. This representation emphasizes the role of m_0 and m_1 as independent parameters, distinguishing it from standard interpolation where endpoint derivatives are typically approximated using one-sided finite differences to maintain smoothness across multiple intervals. A common application arises in boundary value problems (BVPs), where the endpoint slopes are known from the derivatives of the underlying or physical constraints, such as or Robin conditions. For instance, in solving second-order BVPs via methods, cubic Hermite basis functions enforce these prescribed derivatives at the boundaries, yielding fourth-order accuracy while preserving the problem's natural conditions. This approach ensures seamless integration with external specifications, maintaining the core cubic structure and C^1 without modifying the polynomial degree or introducing extraneous parameters.

Periodic Extensions

Periodic extensions of cubic Hermite splines enable over closed domains or periodic data sets, such as loops or repeating patterns, by imposing conditions that ensure the function and its are consistent across the period boundary. For a basic interval [0, 1], periodicity demands p(0) = p(1) and p'(0) = p'(1), where the endpoint values match by virtue of the , leaving the primary task as enforcing equal tangents m_0 = m_1 to achieve a seamless . In the multi-knot case, the data points satisfy y_0 = y_n, and the tangents are selected with m_0 = m_n. For cases where tangents are approximated from data, methods such as wrapped finite differences can be used circularly, as detailed in the interpolation approaches. These extensions find application in for rendering closed curves, like smooth outlines or animation paths, and in modeling periodic phenomena such as waveforms in signal analysis. A key challenge lies in securing C^1 continuity at the closure junction without inducing flat regions or excessive curvature variation, which can be addressed by appropriate selection of the tangents m_i.

Properties and Applications

Continuity and Smoothness

Cubic Hermite splines achieve C¹ across knots by construction, as each piecewise cubic segment is defined to both the function values y(t_i) and the first derivatives y'(t_i) at shared knots t_i, using the common vectors m_i. This ensures that the and (or ) are continuous at the joints between segments, preventing abrupt changes in or speed that would occur in lower-order interpolants like linear or splines. While C¹ smoothness is inherent, cubic Hermite splines are generally not C² continuous, as the second derivatives typically exhibit discontinuities at the knots unless additional constraints are imposed. Achieving C² continuity requires solving a system for the second derivatives, which aligns the spline with natural cubic splines that minimize curvature variation but sacrifice the direct specification of tangents. A key advantage of cubic Hermite splines is their local control property: modifying a tangent vector m_i at a knot affects only the two adjacent segments, allowing precise adjustments without propagating changes across the entire curve. This locality stems from the piecewise nature of the interpolation, where each segment is independently defined by its endpoint positions and tangents. For a set of n knots, a cubic Hermite spline provides $2n , comprising n function values and n tangent vectors, resulting in a globally C¹ cubic that interpolates the specified data. This parameterization balances flexibility and smoothness for applications requiring controlled behavior. To illustrate the smoothness benefits, consider a plot of a cubic Hermite spline interpolating a set of points: the first forms a continuous across knots, with smooth transitions that avoid the jumps seen in (where derivatives are constant within segments but discontinuous at knots) or splines (which may have mismatched slopes). This visual in the derivative underscores the spline's suitability for modeling smooth trajectories.

Error Bounds and Analysis

Cubic Hermite splines provide high-order approximation for smooth functions when both function values and derivatives are specified at the knots. For a function f \in C^4[a, b] interpolated by the cubic Hermite spline p on a single interval [a, b] with h = b - a, the pointwise error satisfies |f(x) - p(x)| \leq \frac{h^4}{384} \max_{\xi \in [a, b]} |f^{(4)}(\xi)|. This bound arises from the Taylor expansion remainder applied to the Hermite interpolation error formula f(x) - p(x) = \frac{f^{(4)}(\xi)}{4!} (x - a)^2 (x - b)^2 for some \xi \in (a, b), where the maximum of (x - a)^2 (x - b)^2 on [a, b] is \frac{h^4}{16}. On a uniform mesh with maximum spacing h, the global error for the piecewise cubic Hermite interpolant converges as O(h^4) to f as h \to 0, provided f \in C^4[a, b]. Similarly, the error in the first is bounded by |f'(x) - p'(x)| \leq \frac{h^3}{24} \max_{\xi \in [a, b]} |f^{(4)}(\xi)|, a result following from differentiating the interpolation error formula and bounding the resulting expression over the interval. These estimates highlight the fourth-order accuracy in the function and third-order in the , making cubic Hermite splines suitable for applications requiring precise approximation of both values and slopes. The of cubic Hermite interpolation depends strongly on the accuracy of the input derivatives, as perturbations in the tangents can amplify across intervals due to the basis . Ill-conditioning arises particularly when cluster, leading to small local intervals where minor inaccuracies in derivatives or uneven spacing exacerbate oscillations or deviations from the underlying function. In statistical contexts, such as modeling mortality curves, recent work has analyzed the properties of Hermite splines, demonstrating their effectiveness in capturing smooth trends with controlled approximation under non-uniform placements typical of actuarial data.

Comparisons to Other Splines

Cubic Hermite splines provide explicit control through endpoint positions and tangent vectors, ensuring C¹ continuity across segments while interpolating the specified points, which offers local influence on the curve shape. In contrast, cubic B-splines use a set of control points to define the curve via basis functions, achieving potential C² continuity but not interpolating the control points unless knot multiplicity is adjusted, such as in clamped configurations; this makes B-splines more suitable for approximating shapes with smoother curvature transitions. Both methods support local control, where altering a parameter affects only nearby segments, but Hermite's tangent-based specification allows precise derivative enforcement at knots. Compared to natural cubic splines, which also interpolate data points and attain C² continuity by globally solving for second derivatives with zero boundary conditions at the ends, cubic Hermite splines rely on user-provided first derivatives rather than a , limiting them to C¹ continuity unless additional constraints are imposed. This derivative-input flexibility in Hermite splines makes them advantageous in fields like for matching prescribed velocities or slopes, whereas natural cubics prioritize minimal curvature variation without tangent specifications. Cubic Bézier curves, typically defined for a single segment using four control points where only the endpoints lie on the curve, can be directly converted to Hermite form by mapping the interior points to tangents, but extending Bézier to piecewise splines requires careful junction handling for , lacking the inherent piecewise uniformity of Hermite constructions. Catmull-Rom splines, a specialized variant of cubic Hermite, derive tangents automatically from neighboring points to ensure and C¹ with fewer explicit parameters, reducing design effort but offering less freedom in tangent adjustment compared to general Hermite. Overall, cubic Hermite splines excel in scenarios with known data, providing intuitive control for tasks, while B-splines and natural cubics favor applications requiring higher and global consistency in shape design or .
Spline TypeParameters
Cubic HermiteYesPositions and tangents at knots
Cubic B-splineNo (approximating)Control points
Natural CubicYesPositions (global second derivatives solved)
Catmull-RomYesPositions (tangents derived from points)
Cubic BézierC¹ (per segment)Yes (endpoints)Four control points per segment

Practical Uses

Cubic Hermite splines originated in approximation theory as a method for polynomial interpolation that matches both function values and derivatives at specified points, first developed by Charles Hermite in 1878. In computer graphics, cubic Hermite splines are widely applied in keyframe animation to generate smooth paths between control points, where derivatives represent velocities or tangents at keyframes. Variants like Catmull-Rom splines, a specific form of cubic Hermite interpolation, are used for trajectory generation in animation software such as Blender and in rendering pipelines at studios like Pixar. For , cubic Hermite splines enable in (CAD) systems by providing local control over shape through adjustable parameters. The Kochanek–Bartels variant extends this with tension, , and controls, allowing designers to modify curve and without altering distant segments, which is particularly useful in design. In , these splines support the solution of ordinary differential equations (ODEs) and partial differential equations (PDEs) through Hermite methods, where they approximate solutions while enforcing conditions for improved accuracy and error control. They also aid scientific visualization by preserving monotonicity and avoiding oscillations in interpolated data sets, such as in simulations. Bicubic Hermite patches extend cubic Hermite splines to two dimensions, forming C¹-continuous surfaces that are employed in finite element methods for , particularly in simulating thin shells and deformable bodies. Implementations of cubic Hermite splines appear in numerical software libraries, including MATLAB's pchip function for piecewise cubic Hermite interpolating polynomials that preserve shape in data visualization. Similarly, SciPy's CubicHermiteSpline in provides tools for fitting values and first derivatives, supporting applications in scientific computing. A recent application includes mortality modeling, where a Hermite spline approach captures age-specific differentials in post-retirement populations with parsimonious parameterization.

References

  1. [1]
    [PDF] 1 Cubic Hermite Spline Interpolation - cs.wisc.edu
    Cubic Hermite spline interpolation finds polynomials p0, p1,..., pN-1 for an interval [a, b] and function f, given partition points, where pi(xi) = f(xi) and pi( ...
  2. [2]
    [PDF] Day 08 Cubic Curves and Cubic Hermite Interpolation - Rose-Hulman
    Dec 10, 2004 · An advantage of cubic Hermite interpolation is that it is easy to construct a smooth piecewise cubic curve. A second advantage of cubic Hermite ...
  3. [3]
    [PDF] 3.4 Hermite Interpolation 3.5 Cubic Spline Interpolation
    • In mathematics, a spline is a function that is piecewise-defined by polynomial functions, and which possesses a high degree of smoothness at the places ...
  4. [4]
    WhatIsMotionPlanning - Intelligent Motion Lab
    The simplest spline is the cubic Hermite spline, which defines the control points to include milestones and the derivative of the spline at each milestone. The ...
  5. [5]
    [PDF] Hermite and spline interpolation algorithms for planar & spatial ...
    to robotics, animation, spatial path planning, geometric sweeping operations, etc. Page 43. spatial C. 2. PH quintic splines.
  6. [6]
    [PDF] 2D Spline Curves - Cornell: Computer Science
    Spline curves are linear functions of their controls. – moving a control point two inches to the right moves x(t) twice as far as moving it by one inch.
  7. [7]
    [PDF] Hermite Interpolation - MATH 375 Numerical Analysis
    Hermite Interpolation. MATH 375 Numerical Analysis. J Robert Buchanan. Department of Mathematics. Spring 2022. Page 2. Objectives. ▷ We have encountered the ...
  8. [8]
    [PDF] HERMITE INTERPOLATION
    Let γ and δ be two curves that satisfy the constraints above, and consider a third curve r defined as r(t) = γ(t) - δ(t).
  9. [9]
    [PDF] Interpolation and Polynomial Approximation Divided Differences ...
    Uniqueness Proof. Assume there is a second ... (To be revisited later this semester.) The most commonly seen Hermite interpolatory polynomial is the cubic.
  10. [10]
    [PDF] Introduction to Numerical Analysis - UMD MATH
    Jan 31, 2017 · We now consider the following Hermite interpolation problem: The interpolation points are x0,...,xl (which we assume are ordered from small ...
  11. [11]
    [PDF] Splines and Curves - Stanford Computer Graphics Laboratory
    Splines. □ Cubic hermite interpolation. □ Matrix representation of cubic polynomials. □ Catmull-Rom splines. □ How to think of CR in terms of Hermite spline.
  12. [12]
    [PDF] Splines - USC Viterbi
    Splines are piecewise polynomials. Types include Hermite, Bezier, Catmull-Rom, and Natural Cubic. They are used to model curves and surfaces.
  13. [13]
    [PDF] Matrix Form for Cubic Bézier Curves
    Cubic Bézier curves can be written in matrix form, which connects directly to Hermite splines. Bézier-Hermite conversion can be used to convert between splines.
  14. [14]
    [PDF] Hermite versus Simpson: the Geometry of Numerical Integration
    Nov 2, 2005 · Hermite cubic-spline geometry with these Hermite rules created via deriva- tive approximations. Rather than the exact slopes, we use the ...
  15. [15]
    [PDF] Calculus, finite differences Interpolation, Splines, NURBS - UMIACS
    •Specifying function and derivative values at the end points x k. ,x k+1 leads to cubic Hermite interpolation. Page 16. Cubic Spline. • Splines – name given to ...
  16. [16]
    [PDF] Spline Tutorial Notes - Alvy Ray Smith
    May 8, 1983 · The cubic cardinal matrix may be easily derived from the two tangent con- ... the type of spline (BETA, CARDINAL), the parameters for tension and ...
  17. [17]
    None
    Below is a merged summary of cardinal splines based on the provided segments from "A Practical Guide to Splines" by Carl de Boor. To retain all information in a dense and organized manner, I will use a combination of narrative text and a table in CSV format for detailed comparisons across sections. The narrative will provide an overview and context, while the table will capture specific details (e.g., definitions, formulas, properties) systematically.
  18. [18]
    contributions to the problem of approximation of equidistant data by ...
    Analytic approximations, where F{x) is an analytic and regular func- tion of x for all real values of x. * Received Oct. 18, 1945. Page 2. 46. I. J. SCHOENBERG.
  19. [19]
    A CLASS OF LOCAL INTERPOLATING SPLINES - ScienceDirect.com
    A CLASS OF LOCAL INTERPOLATING SPLINES Edwin CatmulI Raphael Rom Universi ty ... CATMULL AND RAPHAEL ROM through its defining points. (v) Local spline ...
  20. [20]
    [PDF] On the Parameterization of Catmull-Rom Curves
    In this paper, we concentrate on cubic Catmull-Rom curves and analyze the full class of parameterizations rang- ing from uniform to chordal parameterization ...Missing: original | Show results with:original
  21. [21]
    [PDF] Families of Local Matrix Splines - Alvy Ray Smith
    Dec 21, 1983 · c → . An inter- esting member of the Cardinal spline family has .5 c = . This is the Catmull-Rom cubic spline, described in [Catmull-Rom] ...
  22. [22]
    [PDF] Kochanek–Bartels Cubic Splines (TCB Splines) - Geometric Tools
    Jul 16, 1999 · The parameters are tension τk, which controls how sharply the curve bends at a control point; continuity γk, which controls the continuity or ...Missing: formula original
  23. [23]
    Uniform Kochanek–Bartels Splines
    May 7, 2023 · Deriving TCB splines is all about inserting the parameters T , C and B into this equation. Tension#. Kochanek and Bartels [KB84] show the usage ...Missing: formula original
  24. [24]
    Non-Uniform Kochanek–Bartels Splines
    Feb 29, 2024 · In their notation, D S i is the source derivative (i.e. the incoming tangent vector) at point P i , and D D i is the destination derivative ( ...
  25. [25]
    “Interpolating splines with local tension, continuity, and bias control ...
    This paper presents a new method for using cubic interpolating splines in a key frame animation system. Three control parameters allow the animator to change ...Missing: formula original
  26. [26]
    Monotone Piecewise Cubic Interpolation - SIAM Publications Library
    An algorithm which constructs a visually pleasing monotone piecewise cubic interpolant to monotone data.Missing: original | Show results with:original
  27. [27]
    [PDF] Accurate Monotone Cubic Interpolation
    When the data are monotone, it is often desirable that the piecewise cubic Hermite interpolants are also monotone. Such cubics can be constructed by imposing a ...Missing: Carl | Show results with:Carl
  28. [28]
    Monotonic piecewise cubic interpolation, with applications to ODE ...
    Drawing on the theory of Fritsch and Carlson (1980), we derive a simple algorithm that, if necessary, adds one or two extra knots between existing knots in ...
  29. [29]
    [PDF] 3.4 Hermite Interpolation 3.5 Cubic Spline Interpolation
    The spline segment SSjj+1(xx) is on xxjj+1,xxjj+2 . • Their function values: SSjj xxjj+1 = SSjj+1 xxjj+1 = ff xxjj+1. • First derivative ...
  30. [30]
    [PDF] Curves and Splines
    Splines are piecewise polynomials, often cubic, used to interpolate control points. Types include Hermite, Catmull-Rom, Bezier, Natural, and B-Splines.
  31. [31]
    Cubic Hermite Collocation Method for Solving Boundary Value ...
    Feb 24, 2014 · Cubic Hermite collocation method is proposed to solve two point linear and nonlinear boundary value problems subject to Dirichlet, Neumann, and Robin ...
  32. [32]
    A Practical Guide to Splines - SpringerLink
    $$99.99 Free delivery 14-day returnsNov 29, 2001 · This book is based on the author's experience with calculations involving polynomial splines. It presents those parts of the theory that are especially useful ...
  33. [33]
    PSPLINE -- a collection of Spline and Hermite interpolation tools for ...
    This cubic polynomial is the Hermite cubic for that interval. The value and derivative of the Hermite cubic is continuous with the Hermite cubics in the ...
  34. [34]
    [PDF] A Class of C Interpolating Splines
    SIGGRAPH Comput. Graph. 22, 4 (1988), 199–204. Edwin Catmull and Raphael Rom. 1974. A class of local interpolating splines.
  35. [35]
    [PDF] Splines - USC Viterbi
    A spline is a piecewise polynomial: Curve is broken into consecutive segments, each of which is a low-degree polynomial interpolating.Missing: cardinal | Show results with:cardinal
  36. [36]
    [PDF] The C2 Continuity of Piecewise Cubic Hermite Polynomials ... - DTIC
    )Cubic hermite polynomials are usually C' continuous. With the introduction of smoothing within the intervals, the second derivatives can be made continuous ...Missing: smoothness | Show results with:smoothness
  37. [37]
    [PDF] Piecewise Polynomial Interpolation - Cornell: Computer Science
    An error expression for the cubic Hermite interpolant can be derived from Theorem 3. Theorem 3 Suppose f(z) and its first four derivatives are continuous on ...
  38. [38]
    [PDF] MATH 4513 Numerical Analysis - Department of Mathematics
    Sep 15, 2020 · The choice of curve for use in computer graphics is generally a form of the piecewise cubic Hermite polynomial. Popular graphics programs ...
  39. [39]
    [PDF] error bounds for polynomial and spline interpolation
    Priver concerning error bounds for derivatives of Hermite interpolation and a paper of C. A. Hall and w. W. Meyer concerning error bounds for cubic splines. In ...
  40. [40]
    [PDF] Optimal Error Bounds for Cubic Spline Interpolation
    The error bounds considered are of the form jjf”' - scr) /jm < C, jifi4' /loo h4-', where s is a cubic spline interpolant off o C*[a, b], matching f in ...
  41. [41]
    A Hermite spline approach for modelling population mortality
    Oct 17, 2022 · A Hermite spline (HS) model that describes the age pattern of mortality differentials using one parameter and circumvents an unreasonable crossover by default.
  42. [42]
    [PDF] Splines Quick Reference
    Each section of a natural cubic spline is described by a general cubic function of time: ... Each cubic in a Hermite Spline is a fully determined by its local ...<|separator|>
  43. [43]
    What Is the Difference Between Natural Cubic Spline, Hermite ...
    Mar 18, 2024 · A comprehensive overview of differences between Natural Cubic Spline, Hermite Spline, Bézier Spline and B-spline.
  44. [44]
    [PDF] Lecture 23: Hermite and Bezier Curves
    Dec 3, 2019 · Since MH and T are known, you can write down a cubic polynomial curve by inspection ending at points P(0) and P(1) with tangents d/dt P(0) ...
  45. [45]
    [PDF] A chronology of interpolation: from ancient astronomy to modern ...
    A generalization of a different nature was published in 1878 by Hermite [71], who studied and solved the problem of finding a polynomial of which also the ...
  46. [46]
    [PDF] Optimization of Animation Curve Generation Based on Hermite ...
    The cubic spline interpolation proposed by Hermite, a French mathematician, is suitable for motion control of keyframe animation.
  47. [47]
    An efficient collocation method based on Hermite formula and cubic ...
    The derivative in space is approximated using cubic B-splines and the Hermite formula whereas time discretization is performed by finite differences. The ...
  48. [48]
    Support and approximation properties of Hermite splines
    Hermite splines combine optimal localization and excellent approximation power, while retaining interpolation properties and closed-form expression.
  49. [49]
    Simulating Thin Shells by Bicubic Hermite Elements - ScienceDirect
    To numerically analyze the statics and dynamics of a thin shell, we divide its midsurface into a collection of bicubic Hermite patches that share information ...
  50. [50]
    Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) - MATLAB
    p = pchip(x,y,xq) returns a vector of interpolated values p corresponding to the query points in xq. The values of p are determined by shape-preserving ...
  51. [51]
    CubicHermiteSpline — SciPy v1.16.2 Manual
    Piecewise cubic interpolator to fit values and first derivatives (C1 smooth). The result is represented as a PPoly instance.Missing: MATLAB | Show results with:MATLAB
  52. [52]
    A Hermite-spline model of post-retirement mortality
    Jul 22, 2019 · Central to the model are Hermite splines, which permit parsimonious modelling of complex risk factors in even modest-sized portfolios. The model ...