COMPUTER-
BASED
ANIMATION
ANIMATION
To animate means “to bring to life”.
Animation refers to changes in visual effects
ranging from
motion dynamics (time-varying positions),
update dynamics (changes in shape,
color,texture, structure,
transparency etc.
of object(s)),
changes in camera position, lighting,
focus.
Computer-based animation refers to use of
graphical tools by computer to produce visual
effects.
BASIC CONCEPTS
⚫ Input process: Before computers can be
used, drawings MUST be DIGITIZED because
key frames (frames where entities are at
extreme positions) MUST be drawn.
⚫ This can be done thru optical scanning,tracing
drawing with data tablets etc.
Drawings may need to be post processed
(filtered) to clean glitches during input.
COMPOSITION STAGE
Here, the foreground & background figures are combined to
generate the individual frames for final animation. It can be
performed with image composition technique. These low
resolution frames of an animation are placed in a rectangular
array to generate a trail film (pencil test) by using pan-zoom
features available in some frame buffers. The frame buffer
can take a particular portion of an image (Pan) & then
enlarge it to fit the entire screen (Zoom). This process can be
repeated on several frames of the animation stored in the
single image. If done fast, it gives the effect of continuity.
IN-BETWEEN PROCESS
The animation of movement from one position to
another needs a composition of frames with
intermediate positions (intermediate frames) in
between key frames. This is called in between process
performed through INTERPOLATION. The system only
stores the initial & final positions. Easiest interpolation
is linear interpolation (or lerping).
Fig (b)
Fig (a)
Fig: Linear interpolation of motion of a ball
ANIMATION LANGUAGES
There are three categories:
Linear-list Notations
General-purpose Languages
Graphical Languages
Linear list notations
⚫ Each event in an animation is described by a starting & ending
frame number & an action that is to take place. The actions
take parameter statements like:
42, 53, B, ROTATE, “PALM” 1, 30
The above statement means between frames 42 & 53,
rotate the object called PALM about axis 1 by 30 deg.
determining amount of rotation at each frame from
table B.
⚫ Many other such link lists are available
GENERAL PURPOSE LANGUAGES
⚫ Animation capability may be embedded within a general
purpose programming language.
⚫ The values of variables in the language can be used as
parameters to the routines that perform the animation.
⚫ ASAS is an example of such language built on LISP. Main
entities are vectors, colors, polygons, solids, groups, points of
views, light etc. ASAS also has wide range of geometric
transformations that operate on objects. The ASAS program
fragment below describes an animated sequence in which the
object called my_cube is spun while the camera pans. The
fragment is evaluated at each frame to generate the entire
sequence.
(grasp my_cube); The cube becomes the current object
(cw 0.05); Spin it clockwise by a small amount
(grasp camera); Make the camera the current object
(right panning speed); Move it to the right
Graphical languages
• With textual languages, we are unable to
visualize the action just by looking at the script.
A real time pre-viewer would help to solve the
problem for textual animation languages,
however, real time animation is still beyond the
scope of computer hardware.
• Graphical animation languages describe
animation more visually. These languages
express & edit the changes taking place in
animation, Rather than explicitly writing out
descriptions of actions, animator provides
picture of the actions.
• Ex of such systems and languages are
GENESYSTM, DIAL & S-Dynamics System.
ANIMATION CONTROL
METHODS
• Full explicit control: Simplest control.
The animator provides description of
everything that occurs in the animation.
It may specify the foll:
• Scaling, translation, rotation
• Provide key-frame information & interpolation
methods to use between frames.
• In an interactive system, may allow direct
manipulation with a mouse, joystick, data glove or
other input device.
ANIMATION CONTROL
METHODS
• Procedural control: Based on communication between
various objects to determine its properties.
• In physically based systems, the position of one object
may influence the motion of another like balls cannot pass
through walls.
• In anchor based systems, the individual actors may pass
their positions to the other actors to affect other’s
behaviour.
• Constraint based systems: Some objects in physical world
move in straight lines but many move in a manner
determined by other objects with which they are in
contact. This compound motion may not be linear at all.
Such motion may be modeled by constraints specifying an
animated sequence. It is much easier than explicit
control.
⚫ Tracking line action: Trajectories of
objects in the course of an animation
may be generated by tracking live action.
Traditional animation uses Rotoscoping.
A film is made in which people/animals
act out parts of characters in the
animation & then the animators draw
over the film enhancing the background
& replacing human actors with their
animated equivalents.
Kinematics & Dynamics
◼ Kinematics refers to position & velocity of
points. A kinematic description of a scene:
“The cube is at the origin at time t = 0. It
moves with a constant acceleration in the
direction (1, 1, 15) thereafter.”
◼ On the contrary, dynamics takes into
account the physical laws that govern
kinematics like Newton’s laws of motion
etc. A particle moves with an acceleration
proportional to the forces acting on it & the
proportionality constant depends on the
mass of the particle. The dynamic
description of the particle would be “At time
t=0 secs, the cube is at position (0 m,
100m, 0 m). The cube has a mass of 100
gms. The force of gravity acts on the cube.”
The result of dynamic simulation of such a
model is that the cube falls.
Display of animation
◼ With raster systems, animation objects made up of
graphical primitives like lines, polygon etc. must be scan
converted to their pix-map in their frame buffer.
◼ To show a rotating object, we can scan convert to
pixmap successive views from slightly different positions,
one after another. The scan conversion must be done at
least 10 times/sec (preferably at 15-20 times/sec) to a
reasonably smooth effect; hence a new image must be
created in no more than 100 ms. From this 100 mS, a
small portion is taken for scan conversion. If 75 mS is
taken for scan conversion, only 25 mS is left for erasing
& redrawing the complete object on the display which is
not enough. To prevent this double buffering is done.
The frame buffer is divided to two images each with half
of the bits per pixel of overall frame buffer. Lets discuss
an example with two halves of pixmap – image0 &
image1 .
Ex.
Load look-up table to display values as background color.
Scan convert object into image0
Load look-up table to display only image0
Repeat
Scan convert object into image1
Load look-up table to display only image1
Rotate object data structure description
Scan convert object into image0
Load look-up table to display only image0
Rotate object data structure description
Until (termination condition)
If the rotating & scan converting takes time > 100mS, animation is
slow but transition from one image to next appears instantaneous
Transmission of Animation
Animated objects may be symbolically represented using
graphical objects or scan converted pixmap images.
Transmission is done in two approaches:
1. The symbolic representation (say circle) of animation object say
ball is transmitted symbol along with the operating commands
like roll the ball etc. performed on the object & at the receiver
side, the animation is displayed as discussed above.
Transmission time is short as symbolic representation of
animated object is smaller than pix-map representation, but
display time at receiver side is longer because the scan-
converting application has to be performed at the receiver side.
In this approach, the transmission rate (bits
or bytes per sec.) of animated objects
depends
1. On size of the symbolic representation
structure, where, where animated object is
encoded
2. On the size of the structure, where
operation command is encoded and
3. On the number of animated objects and
operation commands sent per second.
Transmission of animation
2. The pixmap representation of the animated objects is transmitted
and displayed on the receiver side. In this case, the transmission
time is longer in comparison to the previous approach because of
the size of the pixmap representation, but display time is shorter
because scan-conversion of the animated objects at receiver
side is avoided. It is performed at the sender side where
animation objects and operation commands is generated.
In this approach, the transmission rate of animation is equal to
the size of the pixmap representation of the animated object
(graphical image) multiplied by the number of graphical images
per second.
◼ Q: What is animation? (2-3 marks) Give full details as
given in slide 2.
◼ It refers to changes in visual effect ranging from change
in motion dynamics, update dynamics etc.
◼ Q: What is motion dynamics and update dynamics in
animation (2-3)
◼ Q: Write about input process, composition stage and in-
between processes in animation (6 marks)
◼ Q: List the 3 types of animation languages (1)
◼ Q: Describe one linear list notation as to how animation
action takes place.
◼ Describe one animated sequence using ASAS.
◼ Q: In animation control methods, what is explicit control,
procedural control (physically based and anchor based),
constraint based system and tracking line action (3*4
marks)
◼ Q: What is kinematic description of a scene and what is
dynamic description of a scene? (2+2)
◼ Q: How is a rotating object displayed in animation? (Give
the program of dividing the picture to 2 halves of pixmap)
(6 marks)
◼ Q: Discuss the two methods of animation transmission
(how symbolic representation is transmitted and how
pixmap representation is transmitted)
CONCLUSION
The current development of workstations towards support of
motion video and animation is progressing very quickly.
Silicon graphicsTM workstations(ex. IndigoTMXS24A, Indigo
Elan etc.) provide high quality color graphics displays, as
well as video boards for capturing motion video. The major
emphasis in hardware (e.g. camera, video boards,
workstations) is on achieving real-time motion video and
computer-based animation. This allows researchers to
achieve better results in “human facial animation based on
speech intonation, emotion and dialogue models” (a
research project in the Center for human modelling and
Simulation at the University of Pennsylvania), “3-dimensional
tracking, focus ranging, and precision measurement of
objects from a 2-axis camera” (a research project in the
GRASP Laboratory at the University of Pennsylvania) and
others.
THANK
YOU