Parameterization of Catmull-Rom Curves

This image shows a close-up of a number of Catmull-Rom curves going through the same control points, but constructed with different parameterizations. As you can see here, the behavior of the Catmull-Rom curves changes significantly based on the choice of parameterization; in this case the alpha value. Check out the paper for more details.

Abstract

The behavior of Catmull-Rom curves heavily depends on the choice of parameter values at the control points. We analyze a class of parameterizations ranging from uniform to chordal parameterization and show that, within this class, curves with centripetal parameterization contain properties that no other curves in this family possess. Researchers have previously indicated that centripetal parameterization produces visually favorable curves compared to uniform and chordal parameterizations. However, the mathematical reasons behind this behavior have been ambiguous. In this paper we prove that, for cubic Catmull-Rom curves, centripetal parameterization is the only parameterization in this family that guarantees that the curves do not form cusps or self-intersections within curve segments. Furthermore, we provide a formulation that bounds the distance of the curve to the control polygon and explain how globally intersection free Catmull-Rom curves can be generated using these properties.

Images

Our analysis of a continuous class of parameterizations show that centripetal parameterization always produces the "best" result. As the parameterization approaches to uniform, cusps and self-intersections occur. On the other hand, as the parameterization approaches to chordal, the curve moves further away from the control polygon.

An example hair mesh, the control polygons generated for individual hair strands, and the final hair strands, respectively. The hair curves are produced using Catmull-Rom curves with centripetal parameterization.


Here is what happens if the same control polygons are used for generating hair curves with different parameterizations of Catmull-Rom curves. As can be seen here, centripetal parameterization much better represents the intention of the artist.

Animation of a tree swaying in the wind comparing the interpolation generated by chordal and centripetal Catmull-Rom curves. These are the first frame and the last 5 frames of the 13-frame long animation. The first and the last two frames are key-frames set by the user. Notice that the interpolation with chordal parameterization highly deviates from user defined key-frame poses.

Formulation

Let , , , and be four points defining a Catmull-Rom curve piece that interpolates and , and , , and represent the distances between and , and , and and , respectively. The Bézier control points for this segment , , , and can be computed using

where is the parametrization in [0,1]. This formulation simplifies using the recommended centripetal parametrization with equal to 1/2, such that

Publications

Cem Yuksel, Scott Schaefer, John KeyserOn the Parameterization of Catmull-Rom Curves2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling