next up previous
Next: dd_splines Up: dd_splines Previous: dd_splines

5. Higher dimensions and applications to animation.

Although we have been working in R$ ^2 $, everything that has been said so far applies in any number of dimensions. In $ m$ dimensions, the control points $ B_i $ or the data points $ S_i $ are in R$ ^ m$, and the values of $ P(t) $ are also in R$ ^ m$.

The case $ m = 3$ is just what you would think: The control points or data points give a curve in space.

Higher cases are useful in animation, as follows. Suppose that you have a series of cartoon frames representing the position of some character at times $ t = 0, 1,\dots, n$, and from them you would like to compute more frames in between to make a smooth-looking movie. In other words, you have some key frames and you want to interpolate more frames.

The first step is to represent all frames in numerical form, by choosing some uniform way of giving a list of numbers determining the position of the character. For example, suppose that the character is entirely made of straight lines between various vertices, and there are fifteen such vertices. Then each vertex can be described by two numbers, and the whole frame can be described by a list of thirty numbers.

The next step is conceptual--simply think of a frame as being one point in R$ ^ {30}$. Then your key frames are data points in R$ ^ {30}$, and the in-between frames will be on a curve in R$ ^ {30}$ that goes through the data points. To make such a curve, just use an interpolating relaxed cubic spline $ P(t) $, following the method of §[*].

The final step is to find the in-between frames. Their lists of numbers are found just by evaluating $ P(t) $ for the desired values of $ t$, perhaps every $ \frac 1 {20}$-th of a time unit.

An example is shown in Figure [*], which was made by a former student in this course. The rows of frames should be regarded as being in one long sequence of frames. The key frames are indicated by an asterisk (*), and each time unit has been divided into six subintervals. A final key frame was used but is not shown.

Figure: An example of animation, by Sean Meyn
\begin{figure}\vspace*{7in}
\end{figure}

Notes.




next up previous
Next: dd_splines Up: dd_splines Previous: dd_splines
Kirby A. Baker 2002-03-01