Ferguson's Parametric Cubic Curves
The Catmull-Rom Spline is a local interpolating spline developed for computer graphics purposes. Its initial use was in design of curves and surfaces, and has recently been used several applications. This paper presents a simple development of the matrix form of this spline, using only intuitive concepts. The matrix form will arise from a simple geometrical argument that attempts to fix the tangents at certain control points to be the average of the slopes of the two line segments of the control polygon adjacent to each control point. The matrix equation is then just a simple result of matrix algebra.
Ferguson's Parametric Cubic Curves
Given the two control points
and
, and the
slopes of the tangents
and
at each point, we can define a parametric cubic curve
that passes through
and
, with the respective slopes
and
by equating
the coefficients of the polynomial function
Solving these equations simultaneously for
,
,
and
,
we obtain
Substituting these into the original polynomial equation and
simplifying to isolate the terms with
,
,
, and
, we have
This method can be used to obtain a curve through a more general set of control
points
by
considering pairs of control points and using the Ferguson method for
two points as developed above. It is
necessary, however, to have the slopes of the tangents
at each control point.
Development of the Catmull-Rom Spline
Given
control points
,
we wish to find a curve that
interpolates these control points (i.e. passes through them all), and is local
in nature (i.e. if one of the control points is moved, it only affects the curve
locally). We define the curve on each segment
by using the two control points, and specifying the
tangent to the curve at each control point to be
Substituting these tangents into Ferguson's method, we obtain the matrix equation
This matrix representation defines the cubic curve that represents the
portion of the total curve between two successive control points.
It can be applied to all segments of the curve except for the first
and last segments in which
and
must be defined
by a different method.
Bibliography