Different spline types will have different tradeoffs and capabilities:

**B-splines:**- Give automatic continuity control, but only approximate their control points.
**Non-uniform B-splines:**- Are needed to break continuity.
**Non-uniform Rational B-splines (NURBS):**- Provide additional local control over the shape of a curve.
**Bézier splines:**- Require additional information for each segment and do not automatically maintain continuity. However, they do interpolate the ends of segments.
**Hermite splines:**- Require tangent vectors at each keyframe.
**Catmull-Rom splines:**- Provide only first derivative continuity.
**Beta-splines:**- Provide automatic continuity,
control over the tangent and approximate arc length
of each segment.

CS488/688: Introduction to Interactive Computer Graphics

University of Waterloo

Computer Graphics Lab