Catmull-Rom spline

From Wikipedia, the free encyclopedia

In mathematics, a Catmull-Rom spline is a cardinal spline with a tension of 0.5.

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.

[edit] Explanation

For a Catmull-Rom spline, given n+1 points

p0, ..., pn

to be interpolated with n cubic Hermite curve segments, for each curve we have a starting point pi and an ending point pi+1 with starting tangent mi and ending tangent mi+1 with the tangents defined by

\mathbf{m}_i = \frac{1}{2}(\mathbf{p}_{i+1}-\mathbf{p}_{i-1}).

with the first and last tangent given. See cardinal spline for the more general form of this.

[edit] External links