Home > Degrafa, Math > Cardinal Splines Part 4

Cardinal Splines Part 4

October 6, 2009

Continuing from part 3 of this series, a formal tension parameter, T = 1-2s, was introduced. All we noted about tension was that T=0 corresponds to s = 1/2. At s=1/2, the Cardinal spline takes on the form of the more familiar Catmull-Rom spline. The Catmull-Rom spline may, however, be derived independently from the notion of Cardinal splines as the blending of two parabolas [1]. The zero-tension Cardinal Spline happens to conforms to a well-known C-1 continuous spline.

What happens as the tension parameter is moved away from zero? Can it reasonably be both positive and negative? To better understand the effect of the tension parameter on the spline, the Cardinal-spline basis matrix is

[ -s  2-s  s-2   s ]
[ 2s  s-3  3-2s -s ]
[ -s   0    s    0 ]
[  0   1    0    0 ]

Given four arbitrary knots,

[P1, P2, P3, P4]

the following vector equation applies for an aribrary point P(t) on the curve from P2 to P3

P(t) = s(-t3 + 2t2 – t)P1 + s(-t3 + t2)P2 + (2t3 – 3t2 + 1)P2 + s(t3 – 2t2 + t)P3 + (-2t3 + 3t2)P3 + s(t3 – t2)P4

We have already looked at T = 0, so consider T = 1, corresponding to s = 0. The equation for P(t) reduces to

(2t3 – 3t2 + 1)P2 + (-2t3 + 3t2)P3, which can be simplified to

(3t2 – 2t3)(P3 – P2) + P2. If u = 3t2 – 2t3, then

P(t) = (1-u)P2 + uP3, which is the parametric equation of a line from P2 to P3.

While u does vary from 0 to 1, the primary curve parameter is t. At t varies from 0 to 1, u is approximately sigmoid but very close to linear throughout its range. So, we can say that as T approaches 1, the spline approaches a straight-line interpolation between knots.

The following screenshot shows a four-knot example with a black line connecting the knots and the spline drawn in blue with T=1. The Degrafa Catmull-Rom spline is drawn in red, which corresponds to the Cardinal spline with zero tension. This allows a comparison of the range of fits available in the tension range from zero to one.

Tension Ranges in a Cardinal Spline

Tension Ranges in a Cardinal Spline

The natural tension range is from zero to one. Values outside this range are possible, although rarely practical. These factors are discussed in the next section of this series.

References:

[1] Salomon, D. “Computer Graphics and Geometric Modeling”, Springer Verlag, NY, 1999.

Categories: Degrafa, Math Tags: , ,
  1. October 7, 2009 at 1:02 am

    sounds like s < 0 is going to give our spline cycloid-like look. can't wait for you to make a demo, gotta try it out myself🙂

  2. October 7, 2009 at 1:45 am

    and so it’s done: http://wonderfl.net/code/aaaa010faf0d45bfc91000fe4d61a52c2c9de185

    hey, did you just kill my previous response? that sucks.

  3. October 7, 2009 at 5:16 am

    Hold that thought🙂

  4. October 7, 2009 at 5:19 am

    Nice demo.

  5. October 7, 2009 at 8:50 am

    sorry ’bout last remark, seems like it only shows last comment before they are approved.

    • October 7, 2009 at 9:17 am

      They were both held for moderation (for quite some time considering the time zone difference), then simultaneously approved when I got up and checked the blog this morning.

      thx again for the nice demo.

      regards,

      – jim

  1. No trackbacks yet.
Comments are closed.
%d bloggers like this: