Catmull–Rom spline
Catmull–Rom spline is a special case of a cardinal spline. This assumes uniform spacing of the control points . For tangents chosen to be
in the definition formula of cubic Hermite spline:
the following formula for the Catmull–Rom spline is obtained:
The curve is named after Edwin Catmull and Raphael Rom. The principal advantage of this technique is that the points along the original set of points also make up the control points for the spline curve.[1]

Two additional points are required on either end of the curve. The uniform Catmull–Rom implementation can produce loops and self-intersections. The chordal and centripetal Catmull–Rom implementations[3] solve this problem, but use a slightly different calculation.[4] In computer graphics, Catmull–Rom splines are a common way to create smooth movement between key moments.[5] For example, they’re often used to turn a series of camera keyframes into a fluid camera path.[6]
Definition (by Catmull and Rom)
Referenced paper[1] is for a class of splines passing through their defining points. Graphs and experimental results for the following blending functions are shown, with "case 3" being a Catmull–Rom spline curve. [7]
| Interval Width | Differentiability | Type | Degree of Polynomial for Cardinal Function | |
|---|---|---|---|---|
| case 1 | 3 | 1 | B-SPLINE | |
| case 2 | 4 | 2 | BEZIER | |
| case 3 | 4 | 1 | B-SPLINE | 1 |
| case 4 | 6 | 2 | B-SPLINE | 2 |
The model of the spline is:
where are defining points, are shifted blending functions into interval .
Below are, from left, an example of blending functions , its shifted , and a curve .
The blending functions are following cardinal functions: [note 1]
Linear Lagrange interpolation is used, so , resulting in:
where is a blending function obtained by shifting the basis functions of a quadratic uniform B-spline.
Below are, from the left, blending functions of a quadratic uniform B-spline and the basis functions before shifting.
The graphs of each term in are as follows:
Applying this to :
are obtained. Shifting these to the interval gives , and arrange them into matrix form gives:
which coincides with the definition by a cubic Hermite spline.
Properties
Comparison with B-spline
A Catmull–Rom spline curve is interpolation that passes through its defining points, whereas a B-spline curve is approximation that do not pass through its control points.[8]
Below are, from left, an example of blending functions, basis functions before shifting, and a curve of cubic uniform B-spline.
Continuity
A Catmull–Rom spline curve is C1 continuous by its definition and the following, but not C2 continuous:
Self-intersection
If the difference in the intervals between the defining points is large in the middle of a curve, cusps or self-intersections may occur. [note 2]
Below is an example of a self-intersection:
Converting to Bézier curve

Since the matrix form of a cubic Bézier curve is:
the control points of a cubic Bézier curve equivalent to the Catmull–Rom spline curve are:
Extension to Surfaces (bicubic interpolation)
By taking the cartesian cross product of two Catmull–Rom splines, one can get a bivariate surface that interpolates a grid of points.[9]。
It is a bicubic patch expressed by the following formula:
where
The patch interpolates the middle four points. Adjoinging patches have continuity of the first derivative.
Expansion of tension parameter

In some cases, Catmull–Rom spline is:
- ,
where the coefficient of the tangent vector is replaced with .[10]。
In this case, the definition formula is as follows:
The relationship between and the tension parameter of Kochanek–Bartels spline (denoted as ) is as follows: [11]

And the control points of the equivalent cubic Bézier curve are as follows:
See also
- Cubic Hermite spline
- Centripetal Catmull–Rom spline
- Bicubic interpolation
- Bézier curve
- B-spline
- Kochanek–Bartels spline
Notes
- ^
The product notation stands for ", excluding ", which is equivalent to:
- ^ It is safe for the first or last definition point to overlap with an adjacent definition point. This is sometimes used intentionally as a technique to hide "extra" definition points, and the example at the top was created in this way.
References
- ^ a b Catmull, Edwin; Rom, Raphael (1974), "A Class of Local Interpolating Splines", Computer Aided Geometric Design, Elsevier, pp. 317–326, doi:10.1016/b978-0-12-079050-0.50020-5, ISBN 978-0-12-079050-0, retrieved 2026-01-06
- ^ Catmull, Rom (1974), p.325 Figure 5
- ^ N. Dyn, M. S. Floater, and K. Hormann. Four-point curve subdivision based on iterated chordal and centripetal parameterizations. Computer Aided Geometric Design, 26(3):279–286, 2009.
- ^ P. J. Barry and R. N. Goldman. A recursive evaluation algorithm for a class of Catmull-Rom splines. SIGGRAPH Computer Graphics, 22(4):199–204, 1988.
- ^ Gao, Tianmu; Zou, Danping; Chen, Chao Ping; Wu, Xiaojun; Hu, Haiyang (2025-02-28). "Online lane mapping based on multi-sensor SLAM and Catmull–Rom splines". Measurement Science and Technology. 36 (2): 026318. doi:10.1088/1361-6501/ada8c8. ISSN 0957-0233.
- ^ Piotrowski, Lisa; Motejat, Michael; Rössl, Christian; Theisel, Holger (2024). "OptFlowCam: A 3D‐Image‐Flow‐Based Metric in Camera Space for Camera Paths in Scenes with Extreme Scale Variations". Computer Graphics Forum. 43 (2). doi:10.1111/cgf.15056. ISSN 0167-7055.
- ^ Read the Docs - Uniform Catmull–Rom Splines
- ^ Catmull, Rom (1974), p.319
- ^ Catmull, Rom (1974), pp.322-323
- ^ Christopher Twigg (2003). "Catmull–Rom splines" (PDF). Carnegie Mellon Computer Graphics. Retrieved 2025-06-10.
- ^ Kochanek, Doris H. U.; Bartels, Richard H. (1984). "Interpolating splines with local tension, continuity, and bias control". ACM SIGGRAPH Computer Graphics. 18 (3): 36–37. doi:10.1145/800031.808575. ISBN 0-89791-138-5.
{{cite journal}}: CS1 maint: periodical has ISBN (link)
Works cited
- de Boor, Carl (1978). A Practical Guide to Spline. ISBN 0-387-90356-9.
- Gordon, William J.; Riesenfeld, Richard F. (1974), "B-spline curves and surfaces", in Barnhill, Robert E.; Riesenfeld, Richard F. (eds.), Computer Aided Geometric Design - Proceedings of a Conference Held at The University of Utah, Salt Lake City, Utah, March 18-21, 1974, New York: Academic Press, pp. 95–126, ISBN 0-12-079050-5
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.