Interpolation (computer graphics)


In the context of computer animation, interpolation is inbetweening, or filling in frames between the key frames. It typically calculates the in-between frames through use of piecewise polynomial interpolation to draw images semi-automatically.
For all applications of this type, a set of "key points" is defined by the graphic artist. These are values that are rather widely separated in space or time, and represent the desired result, but only in very coarse steps. The computed interpolation process is then used to insert many new values in between these key points to give a "smoother" result.
In its simplest form, this is the drawing of two-dimensional curves. The key points, placed by the artist, are used by the computer algorithm to form a smooth curve either through, or near these points. For a typical example of 2-D interpolation through key points see cardinal spline. For examples which go near key points see nonuniform rational B-spline, or Bézier curve. This is extended to the forming of three-dimensional curves, shapes and complex, dynamic artistic patterns such as used in laser light shows.
The process can be extended to motions. The path of an object can be interpolated by providing some key locations, then calculating many in between locations for a smooth motion. In addition to position, the speed or velocity, as well as accelerations along a path, can be calculated to mimic real-life motion dynamics. Where the subjects are too large or complex to move, the camera position and orientation can be moved by this process. This last is commonly called motion control.
Going further, orientations of objects and parts of objects can be interpolated as well as parts of complete characters. This process mimics that used in early cartoon films. Master animators would draw key frames of the film, then, junior animators would draw the in-between frames. This is called inbetweening or tweening and the overall process is called "key frame animation". To make these motions appear realistic, interpolation algorithms have been sought which follow, or approximate real life motion dynamics. This applies to things such as the motion of arms and legs from frame to frame, or the motion of all parts of a face, given the motion of the important, key points of the face. Defining the motion of key strands of hair, spread around an animal, can be made into full fur. Using custom algorithms, motions with unique, unnatural and entertaining visual characteristics can be formed. The color of an object can be defined by key color-locations or frames allowing the computation of smooth color gradients around an object or varying in time. Algorithms such as the Kochanek–Bartels spline provide additional adjustment parameters which allow customizing the in-between behavior to suit a wide variety of situations.
Another important area of this subject is the computational burden of these algorithms. Algorithms with faster execution times are sought to produce more of these results in less time in order to complete these projects quicker. As the resolution increases to produce animated feature films, the amount of processing can increase greatly.