Hermite interpolation
/ air-MEET /
Ordinary interpolation matches only the HEIGHT of a function at each point. But often you know more — at each sample you also know the SLOPE (the derivative). Hermite interpolation builds a polynomial that matches both the values AND the derivatives at the nodes, so the curve not only passes through each point but leaves it heading in exactly the right direction.
Matching value and first derivative at each of n + 1 nodes gives 2(n + 1) conditions, so the interpolant is a polynomial of degree at most 2n + 1. There is a slick way to compute it: extend Newton's divided-difference table by listing each node TWICE (a 'confluent' table), and define the divided difference of a repeated node as the derivative f'(x_i) — the rest of the table builds itself, and out comes the Hermite polynomial. The classic small case is the CUBIC Hermite on one interval: given two endpoints with their values and slopes (y_0, m_0) and (y_1, m_1), a unique cubic matches all four, written neatly with the cubic Hermite basis functions (the 'h' functions that are 1-or-0 in value and slope at the ends). Stringing such cubics together, one per interval, gives a Hermite SPLINE — smooth (C^1) and entirely LOCAL, since each piece needs only its own two endpoints' data.
Hermite interpolation is everywhere in graphics and animation: a keyframe specifies a position AND a velocity, and the in-between motion is a cubic Hermite (or the equivalent Bezier/Catmull-Rom) curve. It is the natural tool when derivatives are known or can be estimated, and the basis for shape-preserving schemes: by choosing the slopes m_i cleverly (for example by the monotone PCHIP rule) you get an interpolant that never overshoots and stays monotone where the data is monotone — something cubic splines cannot promise. The honest trade-off versus a full cubic spline: Hermite splines are only C^1 (matching slopes but not curvature), so they can have visible curvature jumps, whereas the global cubic spline is C^2 and smoother but couples all the data together and can overshoot.
On [0, 1] match value 0 and slope 1 at x = 0, value 1 and slope 0 at x = 1. The unique cubic Hermite is p(x) = x + x^2 - x^3 (check: p(0) = 0, p'(0) = 1 + 0 - 0 = 1, p(1) = 1, p'(1) = 1 + 2 - 3 = 0). It starts rising at slope 1 and arrives flat.
Match values AND slopes: the curve leaves each point in the right direction.
A Hermite spline is only C^1 (slopes match, curvature need not), so it can show curvature jumps a C^2 cubic spline avoids. Its advantage is locality and shape control — clever slope choices (PCHIP) keep it monotone and overshoot-free.