SlideShare a Scribd company logo
Module 5: Computer Animations
Dr. Ramesh S. Wadawadagi
Department of ISE, NCET, Bengaluru
Computer Animation
What is Animation?
Making objects change over time
according to scripted actions
What is Simulation?
Predict how objects change over
time according to physical laws

Computer animation is the process used for
generating animated images (moving images) using computer
graphics.
• Animators are artists who specialize in the creation of
animation.
• From Latin animātiō, "the act of bringing to life";
from animō ("to animate" or "give life to") and -ātiō ("the act
of").
• 'Animating' is moving something which can't move itself.
• Animation adds to graphics the dimension of time which
vastly increases the amount of information which can be
transmitted.
Introduction

Computer animation generally refers to any time
sequence of visual changes in a picture.

In addition to changing object positions using
translations or rotations, a computer-generated
animation could display time variations in object size,
color, transparency, or surface texture.

Another consideration in computer-generated animation
is realism. Many applications require realistic displays.

Some applications may be displayed with exaggerated
shapes and unrealistic motions and transformations.
Introduction
Real-time animation:

In a real-time computer-animation, each stage of the
sequence is viewed as it is created.

Thus the animation must be generated at a rate that is
compatible with the constraints of the refresh rate.
Frame-by-frame animation:

For a frame-by-frame animation, each frame of the
motion is separately generated and stored.

Later, the frames can be recorded on film, or they can
be displayed consecutively on a video monitor in “real-
time playback” mode.
Two basic methods for constructing a
motion sequence are:
Raster Methods for Computer Animation

We can create simple animation sequences in our programs
using real-time methods.

We can produce an animation sequence on a raster-scan
system one frame at a time, so that each completed frame
could be saved in a file for later viewing.

The animation can then be viewed by cycling through the
completed frame sequence, or the frames could be transferred
to film.

If we want to generate an animation in real time, however, we
need to produce the motion frames quickly enough so that a
continuous motion sequence is displayed.

Because the screen display is generated from successively
modified pixel values in the refresh buffer, we can take
advantage of some of the characteristics of the raster screen-
refresh process to produce motion sequences quickly.
Double Buffering

One method for producing a real-time animation with a
raster system is to employ two refresh buffers.

We create a frame for the animation in one of the buffers.

Then, while the screen is being refreshed from that buffer,
we construct the next frame in the other buffer.

When that frame is complete, we switch the roles of the
two buffers so that the refresh routines use the second
buffer during the process of creating the next frame in the
first buffer.

When a call is made to switch two refresh buffers, the
interchange could be performed at various times.

The most straight forward implementation is to switch the
two buffers at the end of the current refresh cycle, during
the vertical retrace of the electron beam.
Introduction to Computer Animation using Computer Graphics Techniques
Generating Animations Using Raster
Operations
1) Block Transfer method

We can also generate real-time raster animations for
limited applications using block transfers of a
rectangular array of pixel values.

A simple method for translating an object from one
location to another in the xy plane is to transfer the group
of pixel values that define the shape of the object to the
new location.

Then no viewing or visible-surface algorithms need be
invoked.
TRANSLATION ROTATION
2) Color Table method

We can also animate objects along 2D motion paths using
color table transformations.

Here we predefine the object at successive positions along the
motion path and set the successive blocks of pixel values to
color-table entries.

The pixels at the first position of the object are set to a
foreground color, and the pixels at the other object positions
are set to the background color.

Then the animation is accomplished by changing the color-
table values so that the object color at successive positions
along the animation path becomes the foreground color as the
preceding position is set to the background color.
Introduction to Computer Animation using Computer Graphics Techniques
Design of Animation Sequences
A basic approach is to design such animation
sequences using the following Development
Stages:
1) Storyboard layout
2) Object definitions
3) Key-frame specifications
4) Generation of in-between frames
Storyboard

The storyboard is an outline of the action.

It defines the motion sequences as a set of basic events
that are to take place.

Based on the type of animation to be produced, the
storyboard could consist of a set of rough sketches.

Along storyboard a brief description of the movements,
or a list of the basic ideas for the action need to be listed.

Originally, the set of motion sketches are attached to a
large board that was used to present an overall view of the
animation project.

Hence, the name “storyboard.”
Introduction to Computer Animation using Computer Graphics Techniques
Storyboard: Example
Object definition

An object definition is given for each participant
in the action.

Objects can be defined in terms of basic shapes,
such as polygons or spline surfaces.

In addition, a description is often given of the
movements that are to be performed by each
character or object in the story.
Object definition
Object definition
Key frame specifications

A key frame is a detailed drawing of the scene at a certain
time in the animation sequence.

Within each key frame, each object (or character) is
positioned according to the time for that frame.

Some key frames are chosen at extreme positions in the
action; others are spaced so that the time interval between key
frames is not too great.

More key frames are specified for intricate motions than for
simple, slowly varying motions.

Development of the key frames is generally the responsibility
of the senior animators, and often a separate animator is
assigned to each character in the animation.
Introduction to Computer Animation using Computer Graphics Techniques
Key frames
Generation of in-between frames

In-between frames are the intermediate frames between the
key frames.

The total number of frames, and hence the total number of in-
betweens, needed for an animation is determined by the
display media that is to be used.

Film requires 24 frames per second, and graphics terminals
are refreshed at the rate of 60 or more frames per second.

Typically, time intervals for the motion are set up so that
there are from three to five in-betweens for each pair of key
frames.

Depending on the speed specified for the motion, some key
frames could be duplicated.
Generation of in-between frames

As an example, a 1-minute film sequence with no
duplication requires a total of 1,440 frames.

If five in-betweens are required for each pair of key
frames, then 288 key frames would need to be developed.

There are several other tasks that may be required,
depending on the application.

These additional tasks include motion verification,
editing, and the production and synchronization of a
soundtrack.
Generation of in-between frames
Traditional Animation Techniques

Film animators use a variety of methods for
depicting and emphasizing motion
sequences. These include:

Object deformations

Spacing between animation frames

Motion anticipation and Follow-through

Action focusing.
Traditional Animation Techniques

One of the most important techniques for
simulating acceleration effects, particularly for
nonrigid objects, is squash and stretch.

Figure 4 shows how this technique is used to
emphasize the acceleration and deceleration of a
bouncing ball.

As the ball accelerates, it begins to stretch.

When the ball hits the floor and stops, it is first
compressed (squashed) and then stretched again as
it accelerates and bounces upwards.
Introduction to Computer Animation using Computer Graphics Techniques

Another technique used by film animators is
Timing, which refers to the spacing between
motion frames.

A slower moving object is represented with more
closely spaced frames, and a faster moving object
is displayed with fewer frames over the path of the
motion.

This effect is illustrated in Figure 5, where the
position changes between frames increase as a
bouncing ball moves faster.
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques

Object movements can also be emphasized by
creating preliminary actions that indicate an
anticipation of a coming motion.

For example, a cartoon character might lean
forward and rotate its body before starting to run;
or a character might perform a “windup” before
throwing a ball.

Similarly, follow-through actions can be used to
emphasize a previous motion.
WIND-UP ACTION
WIND-UP ACTION
FOLLOW-THROUGH ACTION
FOLLOW-THROUGH ACTION

After throwing a ball, a character can continue the
arm swing back to its body; or a hat can fly off a
character that is stopped abruptly.

An action also can be emphasized with staging,
which refers to any method for focusing on an
important part of a scene, such as a character
hiding something.
Staging
Introduction to Computer Animation using Computer Graphics Techniques
General Computer-Animation Functions:

Many software packages have been developed:

(i) General animation design

(ii) Performing specialized animation tasks

Typical animation functions include:

(i) Managing object motions

(ii) Generating views of objects

(iii) Producing camera motions

(iv) Generation of in-between frames
Object trajectory
synthesis
Motion Paths Estimation
Multi-views generator
Producing camera
motions
ZOOM
PAN
TRUCK
DOLLY
Introduction to Computer Animation using Computer Graphics Techniques
General Computer-Animation Functions:

Some animation packages, such as Wavefront for
example, provide special functions for both the
overall animation design and the processing of
individual objects.

Others are special-purpose packages for
particular features of an animation, such as a
system for generating in-between frames.

A set of routines is often provided in a general
animation package for:

Storing and Managing the object database.

Object shapes and associated parameters are
stored and updated in the database.

Other object functions include those for generating
the Object motion and those for rendering the
object surfaces.
Computer-Animation Languages

We can develop routines to design and control
animation sequences within a General-purpose
programming language, such as:

C, C++, Java, Lisp, Python, or Fortran

Several specialized animation languages have been
developed, such as.

Unity, Rust, OpenGL, Swift, Kotlin, Processing
etc.
Computer-Animation Languages

These languages typically include:

Graphics editor

Key-frame generator

In-between generator

Standard graphics routines

The Graphics editor allows:

An animator to design and modify object shapes
using spline surfaces

Apply constructive solid-geometry methods

Other representation schemes

An important task in an animation specification is
Scene Description. It includes:

Positioning of objects and light sources

Defining the photometric parameters

Setting the camera parameters.

Another standard function is Action
Specification.

It involves the layout of motion paths for the
objects and camera.
Scene
Description
Scene
Description
We need the usual Graphics Routines:

Viewing and Perspective transformations

Geometric transformations to generate object
movements as a function of accelerations

Kinematic path specifications

Visible-surface identification

Surface-rendering operations.

Key-frame systems were originally designed as a
separate set of animation routines for generating
the in-betweens from the user-specified key
frames.

Parameterized systems allow object motion
characteristics to be specified as part of the object
definitions.

The adjustable parameters control such object
characteristics such as:

Degrees of freedom

Motion limitations

Allowable shape changes

Scripting Systems allow object
specifications and animation sequences to be
defined with a user-input script.

From the script, a library of various objects
and motions can be constructed.
Introduction to Computer Animation using Computer Graphics Techniques
Morphing

Transformation of object shapes from one
form to another form is termed as
morphing, which is a shortened form of
“metamorphosing.”

The morphing can be modeled by
transitioning polygon shapes through
generating in-between frames from one key
frame to the next key-frame.
Morphin
g
Introduction to Computer Animation using Computer Graphics Techniques
The process of Morphing:

Assume two key frames k and k+1, each
with a different number of line segments
specifying an object transformation.

We can adjust the object specification in the
any frame so that the number of polygon
edges is the same for the two frames.

This preprocessing step is illustrated in
Figure 8.
Introduction to Computer Animation using Computer Graphics Techniques

A straight-line segment in key frame k is
transformed into two line segments in key
frame k + 1.

Step 1: Because key frame k + 1 has an extra
vertex, we add a vertex between vertices 1
and 2 in key frame k to balance the number
of vertices in the two key frames.

Step 2: Using linear interpolation to
generate the in-betweens, we transition the
added vertex in key frame k into vertex 3’
along the straight-line path shown in Fig. 9.
Example of a triangle linearly expanding into a
quadrilateral
General preprocessing rules for equalizing
key frames:

Decide on number of edges or the number of
vertices to be added to a candidate key frame.

We first consider equalizing the edge count,
where parameters Lk and Lk+1 denote the
number of line segments in two consecutive
frames.

The maximum and minimum number of lines
to be equalized can be determined as:
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Simulating Accelerations: (Motion path
estimation)

Curve-fitting techniques are often used to
specify the animation paths between key
frames.

Given the vertex positions at different key
frames, we can fit the positions with linear
or nonlinear paths.

Figure 11 illustrates a nonlinear fit of key-
frame positions.

To simulate accelerations, we can adjust the
time spacing for the in-between frames.
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques

If the motion is to occur at constant speed
(zero acceleration), we use equal-interval
time spacing for the in-between frames.

For instance, with n in-between frames and
t1 and t2 times of key-frames (Figure 12), the
time interval between the key frames is
divided into n+1 equal subintervals, yielding
an in-between spacing of:

Then, this time value tBj is used to calculate
coordinate positions, color, and other physical
parameters for that frame of the motion.

However, speed changes are usually necessary
at some point in an animation film or cartoon,
particularly at the beginning and end of a
motion sequence.

The startup and slowdown portions of an
animation path are often modeled with spline
or trigonometric functions.

Parabolic and cubic time functions have been
applied to acceleration modeling.

Animation packages commonly render
trigonometric functions for simulating
accelerations.

To model increasing speed, we want the time
spacing between frames to increase so that
greater changes in position occur as the object
moves faster.

We can obtain an increasing size for the time
interval with the function:
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Motion Specifications:
Defining how an animation is to take place by
providing the transformation parameters such as:

Motion path parameters

External forces that act on objects

Details on how objects interact to produce
motion
Three Types of Motion Specifications:

Direct Motion Specification

Goal-Directed Systems

Kinematics and Dynamics
Direct Motion Specification

Here, we use explicitly set the values for the
rotation angles and translation vectors.

Then the geometric transformation
matrices are applied to transform coordinate
positions.

We could use some approximating equation
involving these parameters to specify certain
kinds of motions.

Example bouncing ball, for instance, with a
damped, rectified, sine curve.
where A is the initial amplitude (height of the
ball above the ground), ω is the angular
frequency, θ0 is the phase angle, and k is the
damping constant.
Goal-Directed Systems

Specify the motions that describe the actions
in terms of the final results.

An animation is specified in terms of the
final state of the movements.

Values for the motion parameters are
determined from the goals of the animation,
hence, goal directed.

For example, we could specify that we want
an object to “walk” or to “run” to a
particular destination.
Introduction to Computer Animation using Computer Graphics Techniques
Kinematics and Dynamics

Specify the animation by giving motion
parameters (position, velocity, and
acceleration) without reference to causes or
goals of the motion.

For example, if a velocity is specified as (3,
0, −4) km per sec,

Then this vector gives the direction for the
straight-line motion path and the speed is
calculated as 5 km per sec.
Character Animation
Articulated Figure Animation:

A basic technique for animating people,
animals, insects, and other creatures is to
model them as articulated figures.

These are hierarchical structures composed
of a set of rigid links that are connected at
rotary joints (Figure 17).
Introduction to Computer Animation using Computer Graphics Techniques

We model animate objects as moving stick
figures, or simplified skeletons.

These can later be wrapped with surfaces
representing skin, hair, fur, feathers, clothes,
or other outer coverings.

The connecting points, or hinges, for an
articulated figure are placed at the shoulders,
hips, knees, and other skeletal joints, which
travel along specified motion paths as the
body moves.
Introduction to Computer Animation using Computer Graphics Techniques

For example, when a motion is specified for
an object, the shoulder automatically moves
in a certain way and, as the shoulder moves,
the arms move.

Different types of movement, such as
walking, running, or jumping, are defined
and associated with particular motions for
the joints and connecting links.

For example, a series of walking leg motions,
might be defined as in Figure 18.

Both kinematic-motion descriptions and inverse
kinematics are used in figure animations.
Motion Capture (MoCap):

Digitally recording the movement of a live
actor.

Convert the movement of an animated
character using the information captured.

The animated character will perform the
same series of movements as the live actor.

The classic motion capture technique
involves placing a set of markers at strategic
positions on the actor’s body, such as the
arms, legs, hands, feet, and joints.
Motion Capture
(MoCap):
Introduction to Computer Animation using Computer Graphics Techniques
Motion Capture (MoCap):

It is possible to place the markers directly on
the actor, but more commonly they are
affixed to a special skintight body suit worn
by the actor.

The actor is them filmed performing the
scene.

Image processing techniques are then used to
identify the positions of the markers in each
frame of the film, and their positions are
translated to coordinates.
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Motion Capture (MoCap):

These coordinates are used to determine the
positioning of the body of the animated
character.

The movement of each marker from frame to
frame in the film is tracked and used to
control the corresponding movement of the
animated character.
Periodic Motions:

When we construct an animation with
repeated motion patterns, such as a rotating
object.

We need to be sure that the motion is
sampled frequently enough to represent the
movements correctly.

In other words, the motion must be
synchronized with the frame-generation rate
so that we display enough frames per cycle to
show the true motion.
Periodic Motions:

Figure 19 illustrates one complete cycle in
the rotation of a wagon wheel with one red
spoke that makes 18 clockwise revolutions
per second.

If this motion is recorded on film at the
standard motion-picture projection rate of 24
frames per second, then the first five frames
depicting this motion would be as shown in
Figure 20.
Introduction to Computer Animation using Computer Graphics Techniques
Periodic Motions:

In a computer-generated animation, we can
control the sampling rate in a periodic
motion by adjusting the motion parameters.

For example, we can set the angular
increment for the motion of a rotating object
so that multiple frames are generated in each
revolution.

Thus, a 3◦
increment for a rotation angle
produces 120 motion steps during one
revolution, and a 4◦
increment generates 90
steps.
Periodic Motions:

For faster motion, larger rotational steps
could be used, so long as the number of
samples per cycle is not too small and the
motion is clearly displayed.

When complex objects are to be animated,
we also must take into account the effect that
the frame construction time might have on
the refresh rate.
OpenGL Animation Procedures:

Raster operations and color-index
assignment functions are available in the
core library, and routines for changing color-
table values are provided in GLUT.

Other raster-animation operations are
available only as GLUT routines because
they depend on the window system in use.
●
Double-buffering operations, if available, are
activated using the following GLUT
command:
glutInitDisplayMode (GLUT_DOUBLE);
●
This provides two buffers, called the front
buffer and the back buffer, that we can use
alternately to refresh the screen display.
●
While one buffer is acting as the refresh
buffer for the current display window, the
next frame of an animation can be
constructed in the other buffer.
●
We specify when the roles of the two buffers
are to be interchanged using:
GlutSwapBuffers ( );
●
To determine whether double-buffer
operations are available on a system, we can
issue the following query:
glGetBooleanv(GL_DOUBLEBUFFER, status);
●
A value of GL TRUE is returned to array
parameter status if both front and back
buffers are available on a system. Otherwise,
the returned value is GL FALSE.
●
For a continuous animation, we can also use
glutIdleFunc (animationFcn);
●
Where parameter animationFcn can be
assigned the name of a procedure that is to
perform the operations for incrementing the
animation parameters.
●
This procedure is continuously executed
whenever there are no display-window events
that must be processed.
●
To disable the glutIdleFunc(), we set its
argument to the value NULL or the value 0.
Ad

Recommended

15CS44 MP & MC Module 1
15CS44 MP & MC Module 1
RLJIT
 
Rendering Algorithms.pptx
Rendering Algorithms.pptx
SherinRappai
 
Unit 1
Unit 1
Ankit Garg
 
INTEL 80386 MICROPROCESSOR
INTEL 80386 MICROPROCESSOR
Annies Minu
 
Animation & Animation Techniques
Animation & Animation Techniques
Narendra Bhavsar
 
Transformations computer graphics
Transformations computer graphics
Vikram Halder
 
3 d projections
3 d projections
Mohd Arif
 
Animation in Computer Graphics
Animation in Computer Graphics
RinkuNahar
 
Animation
Animation
Preet Kanwal
 
Principles of animation
Principles of animation
Gena Montgomery
 
Computer animation
Computer animation
shusrusha
 
Explain Animation & Types Of Animation In Computer Graphics
Explain Animation & Types Of Animation In Computer Graphics
Vikashkumar2175
 
3 d display-methods
3 d display-methods
Mahmudul Hasan
 
Computer graphics - colour crt and flat-panel displays
Computer graphics - colour crt and flat-panel displays
Vishnupriya T H
 
Raster scan systems with video controller and display processor
Raster scan systems with video controller and display processor
hemanth kumar
 
Binary codes
Binary codes
Neha Jamini
 
Flat panel display
Flat panel display
SANDEEPKUMARSINGH97
 
Mid point circle algorithm
Mid point circle algorithm
Mani Kanth
 
10 Instruction Sets Characteristics
10 Instruction Sets Characteristics
Jeanie Delos Arcos
 
2D transformation (Computer Graphics)
2D transformation (Computer Graphics)
Timbal Mayank
 
Trends in Computer Graphics
Trends in Computer Graphics
Sajal Maharjan
 
Dda algorithm
Dda algorithm
Mani Kanth
 
Fill area algorithms
Fill area algorithms
Kumar
 
Bresenham circle
Bresenham circle
Taher Barodawala
 
3D transformation in computer graphics
3D transformation in computer graphics
SHIVANI SONI
 
Spline representations
Spline representations
Nikhil krishnan
 
GRPHICS06 - Shading
GRPHICS06 - Shading
Michael Heron
 
Unit 3 combinational circuits
Unit 3 combinational circuits
AmrutaMehata
 
Animation
Animation
Vasu Mathi
 
Animation
Animation
Vasu Mathi
 

More Related Content

What's hot (20)

Animation
Animation
Preet Kanwal
 
Principles of animation
Principles of animation
Gena Montgomery
 
Computer animation
Computer animation
shusrusha
 
Explain Animation & Types Of Animation In Computer Graphics
Explain Animation & Types Of Animation In Computer Graphics
Vikashkumar2175
 
3 d display-methods
3 d display-methods
Mahmudul Hasan
 
Computer graphics - colour crt and flat-panel displays
Computer graphics - colour crt and flat-panel displays
Vishnupriya T H
 
Raster scan systems with video controller and display processor
Raster scan systems with video controller and display processor
hemanth kumar
 
Binary codes
Binary codes
Neha Jamini
 
Flat panel display
Flat panel display
SANDEEPKUMARSINGH97
 
Mid point circle algorithm
Mid point circle algorithm
Mani Kanth
 
10 Instruction Sets Characteristics
10 Instruction Sets Characteristics
Jeanie Delos Arcos
 
2D transformation (Computer Graphics)
2D transformation (Computer Graphics)
Timbal Mayank
 
Trends in Computer Graphics
Trends in Computer Graphics
Sajal Maharjan
 
Dda algorithm
Dda algorithm
Mani Kanth
 
Fill area algorithms
Fill area algorithms
Kumar
 
Bresenham circle
Bresenham circle
Taher Barodawala
 
3D transformation in computer graphics
3D transformation in computer graphics
SHIVANI SONI
 
Spline representations
Spline representations
Nikhil krishnan
 
GRPHICS06 - Shading
GRPHICS06 - Shading
Michael Heron
 
Unit 3 combinational circuits
Unit 3 combinational circuits
AmrutaMehata
 
Computer animation
Computer animation
shusrusha
 
Explain Animation & Types Of Animation In Computer Graphics
Explain Animation & Types Of Animation In Computer Graphics
Vikashkumar2175
 
Computer graphics - colour crt and flat-panel displays
Computer graphics - colour crt and flat-panel displays
Vishnupriya T H
 
Raster scan systems with video controller and display processor
Raster scan systems with video controller and display processor
hemanth kumar
 
Mid point circle algorithm
Mid point circle algorithm
Mani Kanth
 
10 Instruction Sets Characteristics
10 Instruction Sets Characteristics
Jeanie Delos Arcos
 
2D transformation (Computer Graphics)
2D transformation (Computer Graphics)
Timbal Mayank
 
Trends in Computer Graphics
Trends in Computer Graphics
Sajal Maharjan
 
Fill area algorithms
Fill area algorithms
Kumar
 
3D transformation in computer graphics
3D transformation in computer graphics
SHIVANI SONI
 
Unit 3 combinational circuits
Unit 3 combinational circuits
AmrutaMehata
 

Similar to Introduction to Computer Animation using Computer Graphics Techniques (20)

Animation
Animation
Vasu Mathi
 
Animation
Animation
Vasu Mathi
 
Animation
Animation
Vasu Mathi
 
Animation
Animation
Sri Priya
 
UNIT-6. Illumination model and surface renderingpptx
UNIT-6. Illumination model and surface renderingpptx
Praveen156918
 
Animation ppt
Animation ppt
Ashok Mannava
 
Animation
Animation
SeemeTrivedi
 
Animation
Animation
Purvi Sankhe
 
unit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "ccccccccccccccccccccccc
23485a6005
 
Computer animation Computer Graphics
Computer animation Computer Graphics
University of Potsdam
 
Animation
Animation
Fae Kaal
 
GggggggggggggggggggComputer animation.pptx
GggggggggggggggggggComputer animation.pptx
HiteshGharat2
 
Multimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, Types
maaithilisaravanan
 
Basic Principles and Types of Animations
Basic Principles and Types of Animations
hidivin652
 
Animation
Animation
Amit Kapoor
 
Chapter 5 : ANIMATION
Chapter 5 : ANIMATION
azira96
 
computer animation report 3rd9467723.ppt
computer animation report 3rd9467723.ppt
svtbambambam
 
Unit vi
Unit vi
swapnasalil
 
Scct2013 topic 4_animation
Scct2013 topic 4_animation
Anies Syahieda
 
Animation
Animation
Rajendran Jhansi
 
UNIT-6. Illumination model and surface renderingpptx
UNIT-6. Illumination model and surface renderingpptx
Praveen156918
 
unit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "ccccccccccccccccccccccc
23485a6005
 
Computer animation Computer Graphics
Computer animation Computer Graphics
University of Potsdam
 
GggggggggggggggggggComputer animation.pptx
GggggggggggggggggggComputer animation.pptx
HiteshGharat2
 
Multimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, Types
maaithilisaravanan
 
Basic Principles and Types of Animations
Basic Principles and Types of Animations
hidivin652
 
Chapter 5 : ANIMATION
Chapter 5 : ANIMATION
azira96
 
computer animation report 3rd9467723.ppt
computer animation report 3rd9467723.ppt
svtbambambam
 
Scct2013 topic 4_animation
Scct2013 topic 4_animation
Anies Syahieda
 
Ad

More from Ramesh Wadawadagi (11)

Programming in C Conditional statements.pdf
Programming in C Conditional statements.pdf
Ramesh Wadawadagi
 
Programming in C Functions PPT Presentation.pdf
Programming in C Functions PPT Presentation.pdf
Ramesh Wadawadagi
 
Deep Learning: CNN and RNN Architectures pdf
Deep Learning: CNN and RNN Architectures pdf
Ramesh Wadawadagi
 
Module 2 Computer Vision: Image Processing
Module 2 Computer Vision: Image Processing
Ramesh Wadawadagi
 
Module 4 Color Image Processing techniques
Module 4 Color Image Processing techniques
Ramesh Wadawadagi
 
Module 3 Computer Vision Image restoration and segmentation
Module 3 Computer Vision Image restoration and segmentation
Ramesh Wadawadagi
 
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Ramesh Wadawadagi
 
Module-1_Computer Vision_VTU_Syllabus_Chapter2.pdf
Module-1_Computer Vision_VTU_Syllabus_Chapter2.pdf
Ramesh Wadawadagi
 
Role of open source technology in making digital India
Role of open source technology in making digital India
Ramesh Wadawadagi
 
An acoustic approach for multiple fault diagnosis in motorcycles
An acoustic approach for multiple fault diagnosis in motorcycles
Ramesh Wadawadagi
 
Php mysql
Php mysql
Ramesh Wadawadagi
 
Programming in C Conditional statements.pdf
Programming in C Conditional statements.pdf
Ramesh Wadawadagi
 
Programming in C Functions PPT Presentation.pdf
Programming in C Functions PPT Presentation.pdf
Ramesh Wadawadagi
 
Deep Learning: CNN and RNN Architectures pdf
Deep Learning: CNN and RNN Architectures pdf
Ramesh Wadawadagi
 
Module 2 Computer Vision: Image Processing
Module 2 Computer Vision: Image Processing
Ramesh Wadawadagi
 
Module 4 Color Image Processing techniques
Module 4 Color Image Processing techniques
Ramesh Wadawadagi
 
Module 3 Computer Vision Image restoration and segmentation
Module 3 Computer Vision Image restoration and segmentation
Ramesh Wadawadagi
 
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Module 1 Chapter1_Computer vision VTU_syllabus.pdf
Ramesh Wadawadagi
 
Module-1_Computer Vision_VTU_Syllabus_Chapter2.pdf
Module-1_Computer Vision_VTU_Syllabus_Chapter2.pdf
Ramesh Wadawadagi
 
Role of open source technology in making digital India
Role of open source technology in making digital India
Ramesh Wadawadagi
 
An acoustic approach for multiple fault diagnosis in motorcycles
An acoustic approach for multiple fault diagnosis in motorcycles
Ramesh Wadawadagi
 
Ad

Recently uploaded (20)

Industry 4.o the fourth revolutionWeek-2.pptx
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
 
Stay Safe Women Security Android App Project Report.pdf
Stay Safe Women Security Android App Project Report.pdf
Kamal Acharya
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
 
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
 
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
IJCNCJournal
 
Complete University of Calculus :: 2nd edition
Complete University of Calculus :: 2nd edition
Shabista Imam
 
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
23Q95A6706
 
machine learning is a advance technology
machine learning is a advance technology
ynancy893
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Decoding Kotlin - Your Guide to Solving the Mysterious in Kotlin - Devoxx PL ...
Decoding Kotlin - Your Guide to Solving the Mysterious in Kotlin - Devoxx PL ...
João Esperancinha
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
 
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 
Industry 4.o the fourth revolutionWeek-2.pptx
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
 
Stay Safe Women Security Android App Project Report.pdf
Stay Safe Women Security Android App Project Report.pdf
Kamal Acharya
 
Solar thermal – Flat plate and concentrating collectors .pptx
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
 
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
 
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
 
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
 
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
 
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
IJCNCJournal
 
Complete University of Calculus :: 2nd edition
Complete University of Calculus :: 2nd edition
Shabista Imam
 
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
23Q95A6706
 
machine learning is a advance technology
machine learning is a advance technology
ynancy893
 
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
 
Decoding Kotlin - Your Guide to Solving the Mysterious in Kotlin - Devoxx PL ...
Decoding Kotlin - Your Guide to Solving the Mysterious in Kotlin - Devoxx PL ...
João Esperancinha
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
 
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 

Introduction to Computer Animation using Computer Graphics Techniques

  • 1. Module 5: Computer Animations Dr. Ramesh S. Wadawadagi Department of ISE, NCET, Bengaluru
  • 2. Computer Animation What is Animation? Making objects change over time according to scripted actions What is Simulation? Predict how objects change over time according to physical laws
  • 3.  Computer animation is the process used for generating animated images (moving images) using computer graphics. • Animators are artists who specialize in the creation of animation. • From Latin animātiō, "the act of bringing to life"; from animō ("to animate" or "give life to") and -ātiō ("the act of"). • 'Animating' is moving something which can't move itself. • Animation adds to graphics the dimension of time which vastly increases the amount of information which can be transmitted. Introduction
  • 4.  Computer animation generally refers to any time sequence of visual changes in a picture.  In addition to changing object positions using translations or rotations, a computer-generated animation could display time variations in object size, color, transparency, or surface texture.  Another consideration in computer-generated animation is realism. Many applications require realistic displays.  Some applications may be displayed with exaggerated shapes and unrealistic motions and transformations. Introduction
  • 5. Real-time animation:  In a real-time computer-animation, each stage of the sequence is viewed as it is created.  Thus the animation must be generated at a rate that is compatible with the constraints of the refresh rate. Frame-by-frame animation:  For a frame-by-frame animation, each frame of the motion is separately generated and stored.  Later, the frames can be recorded on film, or they can be displayed consecutively on a video monitor in “real- time playback” mode. Two basic methods for constructing a motion sequence are:
  • 6. Raster Methods for Computer Animation  We can create simple animation sequences in our programs using real-time methods.  We can produce an animation sequence on a raster-scan system one frame at a time, so that each completed frame could be saved in a file for later viewing.  The animation can then be viewed by cycling through the completed frame sequence, or the frames could be transferred to film.  If we want to generate an animation in real time, however, we need to produce the motion frames quickly enough so that a continuous motion sequence is displayed.  Because the screen display is generated from successively modified pixel values in the refresh buffer, we can take advantage of some of the characteristics of the raster screen- refresh process to produce motion sequences quickly.
  • 7. Double Buffering  One method for producing a real-time animation with a raster system is to employ two refresh buffers.  We create a frame for the animation in one of the buffers.  Then, while the screen is being refreshed from that buffer, we construct the next frame in the other buffer.  When that frame is complete, we switch the roles of the two buffers so that the refresh routines use the second buffer during the process of creating the next frame in the first buffer.  When a call is made to switch two refresh buffers, the interchange could be performed at various times.  The most straight forward implementation is to switch the two buffers at the end of the current refresh cycle, during the vertical retrace of the electron beam.
  • 9. Generating Animations Using Raster Operations 1) Block Transfer method  We can also generate real-time raster animations for limited applications using block transfers of a rectangular array of pixel values.  A simple method for translating an object from one location to another in the xy plane is to transfer the group of pixel values that define the shape of the object to the new location.  Then no viewing or visible-surface algorithms need be invoked.
  • 11. 2) Color Table method  We can also animate objects along 2D motion paths using color table transformations.  Here we predefine the object at successive positions along the motion path and set the successive blocks of pixel values to color-table entries.  The pixels at the first position of the object are set to a foreground color, and the pixels at the other object positions are set to the background color.  Then the animation is accomplished by changing the color- table values so that the object color at successive positions along the animation path becomes the foreground color as the preceding position is set to the background color.
  • 13. Design of Animation Sequences A basic approach is to design such animation sequences using the following Development Stages: 1) Storyboard layout 2) Object definitions 3) Key-frame specifications 4) Generation of in-between frames
  • 14. Storyboard  The storyboard is an outline of the action.  It defines the motion sequences as a set of basic events that are to take place.  Based on the type of animation to be produced, the storyboard could consist of a set of rough sketches.  Along storyboard a brief description of the movements, or a list of the basic ideas for the action need to be listed.  Originally, the set of motion sketches are attached to a large board that was used to present an overall view of the animation project.  Hence, the name “storyboard.”
  • 17. Object definition  An object definition is given for each participant in the action.  Objects can be defined in terms of basic shapes, such as polygons or spline surfaces.  In addition, a description is often given of the movements that are to be performed by each character or object in the story.
  • 20. Key frame specifications  A key frame is a detailed drawing of the scene at a certain time in the animation sequence.  Within each key frame, each object (or character) is positioned according to the time for that frame.  Some key frames are chosen at extreme positions in the action; others are spaced so that the time interval between key frames is not too great.  More key frames are specified for intricate motions than for simple, slowly varying motions.  Development of the key frames is generally the responsibility of the senior animators, and often a separate animator is assigned to each character in the animation.
  • 23. Generation of in-between frames  In-between frames are the intermediate frames between the key frames.  The total number of frames, and hence the total number of in- betweens, needed for an animation is determined by the display media that is to be used.  Film requires 24 frames per second, and graphics terminals are refreshed at the rate of 60 or more frames per second.  Typically, time intervals for the motion are set up so that there are from three to five in-betweens for each pair of key frames.  Depending on the speed specified for the motion, some key frames could be duplicated.
  • 24. Generation of in-between frames  As an example, a 1-minute film sequence with no duplication requires a total of 1,440 frames.  If five in-betweens are required for each pair of key frames, then 288 key frames would need to be developed.  There are several other tasks that may be required, depending on the application.  These additional tasks include motion verification, editing, and the production and synchronization of a soundtrack.
  • 26. Traditional Animation Techniques  Film animators use a variety of methods for depicting and emphasizing motion sequences. These include:  Object deformations  Spacing between animation frames  Motion anticipation and Follow-through  Action focusing.
  • 27. Traditional Animation Techniques  One of the most important techniques for simulating acceleration effects, particularly for nonrigid objects, is squash and stretch.  Figure 4 shows how this technique is used to emphasize the acceleration and deceleration of a bouncing ball.  As the ball accelerates, it begins to stretch.  When the ball hits the floor and stops, it is first compressed (squashed) and then stretched again as it accelerates and bounces upwards.
  • 29.  Another technique used by film animators is Timing, which refers to the spacing between motion frames.  A slower moving object is represented with more closely spaced frames, and a faster moving object is displayed with fewer frames over the path of the motion.  This effect is illustrated in Figure 5, where the position changes between frames increase as a bouncing ball moves faster.
  • 32.  Object movements can also be emphasized by creating preliminary actions that indicate an anticipation of a coming motion.  For example, a cartoon character might lean forward and rotate its body before starting to run; or a character might perform a “windup” before throwing a ball.  Similarly, follow-through actions can be used to emphasize a previous motion.
  • 37.  After throwing a ball, a character can continue the arm swing back to its body; or a hat can fly off a character that is stopped abruptly.  An action also can be emphasized with staging, which refers to any method for focusing on an important part of a scene, such as a character hiding something.
  • 40. General Computer-Animation Functions:  Many software packages have been developed:  (i) General animation design  (ii) Performing specialized animation tasks  Typical animation functions include:  (i) Managing object motions  (ii) Generating views of objects  (iii) Producing camera motions  (iv) Generation of in-between frames
  • 45. ZOOM
  • 46. PAN
  • 47. TRUCK
  • 48. DOLLY
  • 50. General Computer-Animation Functions:  Some animation packages, such as Wavefront for example, provide special functions for both the overall animation design and the processing of individual objects.
  • 51.  Others are special-purpose packages for particular features of an animation, such as a system for generating in-between frames.  A set of routines is often provided in a general animation package for:  Storing and Managing the object database.  Object shapes and associated parameters are stored and updated in the database.  Other object functions include those for generating the Object motion and those for rendering the object surfaces.
  • 52. Computer-Animation Languages  We can develop routines to design and control animation sequences within a General-purpose programming language, such as:  C, C++, Java, Lisp, Python, or Fortran  Several specialized animation languages have been developed, such as.  Unity, Rust, OpenGL, Swift, Kotlin, Processing etc.
  • 53. Computer-Animation Languages  These languages typically include:  Graphics editor  Key-frame generator  In-between generator  Standard graphics routines  The Graphics editor allows:  An animator to design and modify object shapes using spline surfaces  Apply constructive solid-geometry methods  Other representation schemes
  • 54.  An important task in an animation specification is Scene Description. It includes:  Positioning of objects and light sources  Defining the photometric parameters  Setting the camera parameters.  Another standard function is Action Specification.  It involves the layout of motion paths for the objects and camera.
  • 57. We need the usual Graphics Routines:  Viewing and Perspective transformations  Geometric transformations to generate object movements as a function of accelerations  Kinematic path specifications  Visible-surface identification  Surface-rendering operations.
  • 58.  Key-frame systems were originally designed as a separate set of animation routines for generating the in-betweens from the user-specified key frames.  Parameterized systems allow object motion characteristics to be specified as part of the object definitions.  The adjustable parameters control such object characteristics such as:  Degrees of freedom  Motion limitations  Allowable shape changes
  • 59.  Scripting Systems allow object specifications and animation sequences to be defined with a user-input script.  From the script, a library of various objects and motions can be constructed.
  • 61. Morphing  Transformation of object shapes from one form to another form is termed as morphing, which is a shortened form of “metamorphosing.”  The morphing can be modeled by transitioning polygon shapes through generating in-between frames from one key frame to the next key-frame.
  • 64. The process of Morphing:
  • 65.  Assume two key frames k and k+1, each with a different number of line segments specifying an object transformation.  We can adjust the object specification in the any frame so that the number of polygon edges is the same for the two frames.  This preprocessing step is illustrated in Figure 8.
  • 67.  A straight-line segment in key frame k is transformed into two line segments in key frame k + 1.  Step 1: Because key frame k + 1 has an extra vertex, we add a vertex between vertices 1 and 2 in key frame k to balance the number of vertices in the two key frames.  Step 2: Using linear interpolation to generate the in-betweens, we transition the added vertex in key frame k into vertex 3’ along the straight-line path shown in Fig. 9.
  • 68. Example of a triangle linearly expanding into a quadrilateral
  • 69. General preprocessing rules for equalizing key frames:  Decide on number of edges or the number of vertices to be added to a candidate key frame.  We first consider equalizing the edge count, where parameters Lk and Lk+1 denote the number of line segments in two consecutive frames.  The maximum and minimum number of lines to be equalized can be determined as:
  • 73. Simulating Accelerations: (Motion path estimation)  Curve-fitting techniques are often used to specify the animation paths between key frames.  Given the vertex positions at different key frames, we can fit the positions with linear or nonlinear paths.  Figure 11 illustrates a nonlinear fit of key- frame positions.  To simulate accelerations, we can adjust the time spacing for the in-between frames.
  • 76.  If the motion is to occur at constant speed (zero acceleration), we use equal-interval time spacing for the in-between frames.  For instance, with n in-between frames and t1 and t2 times of key-frames (Figure 12), the time interval between the key frames is divided into n+1 equal subintervals, yielding an in-between spacing of:
  • 77.  Then, this time value tBj is used to calculate coordinate positions, color, and other physical parameters for that frame of the motion.  However, speed changes are usually necessary at some point in an animation film or cartoon, particularly at the beginning and end of a motion sequence.  The startup and slowdown portions of an animation path are often modeled with spline or trigonometric functions.  Parabolic and cubic time functions have been applied to acceleration modeling.
  • 78.  Animation packages commonly render trigonometric functions for simulating accelerations.  To model increasing speed, we want the time spacing between frames to increase so that greater changes in position occur as the object moves faster.  We can obtain an increasing size for the time interval with the function:
  • 83. Motion Specifications: Defining how an animation is to take place by providing the transformation parameters such as:  Motion path parameters  External forces that act on objects  Details on how objects interact to produce motion
  • 84. Three Types of Motion Specifications:  Direct Motion Specification  Goal-Directed Systems  Kinematics and Dynamics
  • 85. Direct Motion Specification  Here, we use explicitly set the values for the rotation angles and translation vectors.  Then the geometric transformation matrices are applied to transform coordinate positions.  We could use some approximating equation involving these parameters to specify certain kinds of motions.  Example bouncing ball, for instance, with a damped, rectified, sine curve.
  • 86. where A is the initial amplitude (height of the ball above the ground), ω is the angular frequency, θ0 is the phase angle, and k is the damping constant.
  • 87. Goal-Directed Systems  Specify the motions that describe the actions in terms of the final results.  An animation is specified in terms of the final state of the movements.  Values for the motion parameters are determined from the goals of the animation, hence, goal directed.  For example, we could specify that we want an object to “walk” or to “run” to a particular destination.
  • 89. Kinematics and Dynamics  Specify the animation by giving motion parameters (position, velocity, and acceleration) without reference to causes or goals of the motion.  For example, if a velocity is specified as (3, 0, −4) km per sec,  Then this vector gives the direction for the straight-line motion path and the speed is calculated as 5 km per sec.
  • 90. Character Animation Articulated Figure Animation:  A basic technique for animating people, animals, insects, and other creatures is to model them as articulated figures.  These are hierarchical structures composed of a set of rigid links that are connected at rotary joints (Figure 17).
  • 92.  We model animate objects as moving stick figures, or simplified skeletons.  These can later be wrapped with surfaces representing skin, hair, fur, feathers, clothes, or other outer coverings.  The connecting points, or hinges, for an articulated figure are placed at the shoulders, hips, knees, and other skeletal joints, which travel along specified motion paths as the body moves.
  • 94.  For example, when a motion is specified for an object, the shoulder automatically moves in a certain way and, as the shoulder moves, the arms move.  Different types of movement, such as walking, running, or jumping, are defined and associated with particular motions for the joints and connecting links.
  • 95.  For example, a series of walking leg motions, might be defined as in Figure 18.  Both kinematic-motion descriptions and inverse kinematics are used in figure animations.
  • 96. Motion Capture (MoCap):  Digitally recording the movement of a live actor.  Convert the movement of an animated character using the information captured.  The animated character will perform the same series of movements as the live actor.  The classic motion capture technique involves placing a set of markers at strategic positions on the actor’s body, such as the arms, legs, hands, feet, and joints.
  • 99. Motion Capture (MoCap):  It is possible to place the markers directly on the actor, but more commonly they are affixed to a special skintight body suit worn by the actor.  The actor is them filmed performing the scene.  Image processing techniques are then used to identify the positions of the markers in each frame of the film, and their positions are translated to coordinates.
  • 102. Motion Capture (MoCap):  These coordinates are used to determine the positioning of the body of the animated character.  The movement of each marker from frame to frame in the film is tracked and used to control the corresponding movement of the animated character.
  • 103. Periodic Motions:  When we construct an animation with repeated motion patterns, such as a rotating object.  We need to be sure that the motion is sampled frequently enough to represent the movements correctly.  In other words, the motion must be synchronized with the frame-generation rate so that we display enough frames per cycle to show the true motion.
  • 104. Periodic Motions:  Figure 19 illustrates one complete cycle in the rotation of a wagon wheel with one red spoke that makes 18 clockwise revolutions per second.  If this motion is recorded on film at the standard motion-picture projection rate of 24 frames per second, then the first five frames depicting this motion would be as shown in Figure 20.
  • 106. Periodic Motions:  In a computer-generated animation, we can control the sampling rate in a periodic motion by adjusting the motion parameters.  For example, we can set the angular increment for the motion of a rotating object so that multiple frames are generated in each revolution.  Thus, a 3◦ increment for a rotation angle produces 120 motion steps during one revolution, and a 4◦ increment generates 90 steps.
  • 107. Periodic Motions:  For faster motion, larger rotational steps could be used, so long as the number of samples per cycle is not too small and the motion is clearly displayed.  When complex objects are to be animated, we also must take into account the effect that the frame construction time might have on the refresh rate.
  • 108. OpenGL Animation Procedures:  Raster operations and color-index assignment functions are available in the core library, and routines for changing color- table values are provided in GLUT.  Other raster-animation operations are available only as GLUT routines because they depend on the window system in use.
  • 109. ● Double-buffering operations, if available, are activated using the following GLUT command: glutInitDisplayMode (GLUT_DOUBLE); ● This provides two buffers, called the front buffer and the back buffer, that we can use alternately to refresh the screen display. ● While one buffer is acting as the refresh buffer for the current display window, the next frame of an animation can be constructed in the other buffer.
  • 110. ● We specify when the roles of the two buffers are to be interchanged using: GlutSwapBuffers ( ); ● To determine whether double-buffer operations are available on a system, we can issue the following query: glGetBooleanv(GL_DOUBLEBUFFER, status); ● A value of GL TRUE is returned to array parameter status if both front and back buffers are available on a system. Otherwise, the returned value is GL FALSE.
  • 111. ● For a continuous animation, we can also use glutIdleFunc (animationFcn); ● Where parameter animationFcn can be assigned the name of a procedure that is to perform the operations for incrementing the animation parameters. ● This procedure is continuously executed whenever there are no display-window events that must be processed. ● To disable the glutIdleFunc(), we set its argument to the value NULL or the value 0.