Graphics Reference
In-Depth Information
C 1 (u)
C t (u)
C 2 (u)
P 11
P 12
P 21
P 22
FIGURE 4.6
Patch defined by interpolation constraints made up of the boundary curve segments
C 1 and
C 2q .
4.2 Animation languages
An animation language is made up of structured commands that can be used to encode the information
necessary to produce animations. If well-designed, an animation language can have enough expressive
power to describe a wide variety of motions. Most languages are script-based , which means they are
composed of text instructions; the instructions are recorded for later evaluation. Script-based languages
can also be interpreted in which the animation is modified as new instructions are input by the user.
Some languages are graphical in which, for example, flowchart-like diagrams encode relationships
between objects and procedures. Nadia Magnenat-Thalmann and Daniel Thalmann present an excel-
lent survey that includes many early script-based animation systems [ 22 ] , and Steve May presents an
excellent overview of animation languages from the perspective of his interest in procedural represen-
tations and encapsulated models [ 24 ] . Much of the discussion here is taken from these sources.
The first animation systems used general-purpose programming languages (e.g., Fortran) to pro-
duce the motion sequences. The language was used to compute whatever input values were needed
by the rendering system to produce a frame of the animation. In these early systems, there were no
special facilities in the language itself that were designed to support animation. Therefore, each time
an animation was to be produced, there was overhead in defining graphical primitives, object data
structures, transformations, and renderer output.
A language that does provide special facilities to support animation can use special libraries devel-
oped to augment a general-purpose programming language (e.g., an implementation of an applied pro-
gramming interface) or it can be a specialized language designed from the ground up specifically for
animation. In either case, typical features of an animation language include built-in input/output oper-
ations for graphical objects, data structures to represent objects and to support the hierarchical com-
position of objects, a time variable, interpolation functions, functions to animate object hierarchies,
affine transformations, rendering-specific parameters, parameters for specifying camera attributes
and defining the view frustum, and the ability to direct the rendering, viewing, and storing of one
or more frames of animation. The program written in an animation language is often referred to as
a script .
The advantage of using an animation language is twofold. First, the specification of an animation
written in the language, the script, is a hard-coded record of the animation that can be used at any time
to regenerate it. The script can be copied and transmitted easily. The script also allows the animation to
be iteratively refined because it can be incrementally changed and a new animation generated. Second,
the availability of programming constructs allows an algorithmic approach to motion control. The
animation language, if sufficiently powerful, can interpolate values, compute arbitrarily complex
 
Search WWH ::




Custom Search