# Path Enhancements

### Turtle Graphics

### Catmull-Rom Curves

A cubic Hermite spline is a third-degree spline made from two control points and two control tangents.

A Cardinal curve has multiple segments, each one a cubic Hermite spline, whose tangents are constrained to be continuous over each adjoining pair of segments and whose smoothness is controlled by a tension parameter.

A Catmull-Rom curve is a Cardinal curve where the tension is zero.

This family of curves produce a smooth curve that passes through each control point. (This is an advantage over most 'smoothing curves' which pass *near*, but not *through*, the points).

See:

- Doug Shepers blog post
- Wikipedia on Cubic Hermite splines
- Wikipedia on Catmull-Rom splines
- Intro to Catmull-Rom splines

Resolved 27-Jul-2011 at Seattle f2f we will add a Catmull Rom syntax to the path syntax with a tension parameter to control the whole curve (not per-point control). um so, actually Cardinal curves, then?

Related ACTION-3085: **Make a Catmull Rom editor that takes variable tension parameters** on Doug.