Although we have been working in
R, everything that
has been said so far applies in any number of dimensions.
In
dimensions, the control points
or the
data points
are in
R
, and the values
of
are also in
R
.
The case 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
, 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. Then your key frames are data
points in
R
, and the in-between frames will be
on a curve in
R
that goes through the data points.
To make such a curve, just use an interpolating relaxed cubic
spline
, following the method of §
.
The final step is to find the in-between frames. Their lists
of numbers are found just by evaluating for the
desired values of
, perhaps every
-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.
Notes.