CS488 - Introduction to Computer Graphics - Lecture 31


Splines without Tears (or Jerks)

Why do splines exist at all?

General piece-wise curves

  1. One example is line segments: you have been making them all along.

When you put them in a mesh there is an extra requirement

Linear splines

  1. Blending is the key operation.
  2. Start with two points P1, P2
  3. Get the in-between points using P(t) = P1 + t(P2 - P1) for 0<t<1.

Linear curves necessarily give derivative discontinuities (called C1 continuity)

We can make the discontinuities unimportant by putting the points close enough together

The usual way is a piecewise continuous non-linear curve, with as much continuitity as you desire at the joins.

Non-linear blending

  1. Start with three points P1, P2, P3
  2. Blend in pairs
  3. Blend the blend
  4. The result is a quadratic curve

You can take this to as many levels as you want. What does it give you? Continuity. Which is what?

There are many types of continuity

Can be extended to surfaces

Splines are good for modelling.


Quite simple, really

`Specifiable': Think splines.

`Realistic': Think continuity.

  1. C0 continuity: no teleportation, possible discontinuities in velocity, which violate Newtonian mechanics.
  2. C1 continuity: no discontinuities in velocity, possible infinite accelarations.
  3. C2 continuity: acceleration continuous, possible infinite jerks.
  4. etc.

Most impotant point

Definition of `realistic' varies

  1. Between camera and actors
  2. As type of actor changes: compare classic Disney animation to live action, which obeys Newtonian dynamics (and other constraints, too)

Return to: