swe 423 multimedia systems l.
Skip this Video
Loading SlideShow in 5 Seconds..
SWE 423: Multimedia Systems PowerPoint Presentation
Download Presentation
SWE 423: Multimedia Systems

Loading in 2 Seconds...

play fullscreen
1 / 25

SWE 423: Multimedia Systems - PowerPoint PPT Presentation

  • Uploaded on

SWE 423: Multimedia Systems Chapter 6: Computer-Based Animation Outline Introduction Producing an Animation Specifications of Animations Methods of Controlling Animations Display of Animations Transmission of Animations VRML Introduction

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

SWE 423: Multimedia Systems

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
swe 423 multimedia systems

SWE 423: Multimedia Systems

Chapter 6: Computer-Based Animation

  • Introduction
  • Producing an Animation
  • Specifications of Animations
  • Methods of Controlling Animations
  • Display of Animations
  • Transmission of Animations
  • VRML
  • An animation covers all changes that have a visual effect
  • Computer-based animations are produced, edited and generated with the help of graphical tools to create visual effects
    • Multimedia API’s
      • Java3D
        • Constructs and renders 3D graphics
        • Provides a basic set of object primitives (cube, splines,...etc.)
        • An abstraction layer built on top of DirectX or OpenGL
      • DirectX
        • Windows API that supports video, images, audio, and 3D animation
        • Most widely used for Windows-based animations (video games)
      • OpenGL
        • Most popular 3D API in use today
        • Highly portable
  • Computer-based animations are produced, edited and generated with the help of graphical tools to create visual effects
    • Rendering Tools
      • 3D Studio Max
        • Character animation, game development and visual effects production (Sony Playstation)
      • Softimage XSI
        • For animation and special effects in movies
      • Maya
        • Softimage competitor
      • RenderMan
        • Excels in creating complex surface appearances and images
        • Has been used in many movies.
    • Simple/Quick Animation Generators
      • GIF Animation Packages
        • Looping through several GIF images creates an animation
        • Gifcon and GifBuilder (Windows) and animate (Linux)
producing an animation
Producing An Animation
  • Input Process
    • Drawings must be digitized or generated
      • Digitizing photos or drawings may require post-processing in order to remove any glitches
  • Composition Stage
    • Individual frames in a completed animation are generated by using image composition techniques to combine foreground and background elements
    • Trailer film is generated from placing low-resolution digitized frames in a grid.
producing an animation7
Producing An Animation
  • InBetween Process
    • Interpolation methods are used to animate the movement from one position to another.
      • Linear interpolation (lerping) is the simplest but the most limited
        • E.g. the interpolation of animating throwing a ball using three points
      • Splines can be used to smoothly vary different parameters as a function of time, yet the problem is not completely solved (very complex)
producing an animation8
Producing An Animation
  • Changing Colors
    • Uses the Color LookUp Table (CLUT) or (LUT) of the graphics memory and the double buffering method
      • Two parts of a frame are stored in different areas of graphic memory.
        • The graphic memory is divided into two fields, each having half as many bits per pixel.
      • The animation is generated by manipulating the CLUT.
specification of animations
Specification of Animations
  • Formal specifications that describe animations can be divided into three categories:
    • Linear-List Notations
    • High-Level Programming Language Notations
    • Graphical Languages
linear list notations
Linear List Notations
  • Each event is described by a beginning frame number, an end frame number and an action event that is to be performed.
    • Action events may accept input parameters
  • For example

42, 53, B, ROTATE “PALM”, 1, 30

    • This instruction means......
  • SCEne Format (Scefo) specification can be considered a superset of linear sets including groups and object hierarchies as well as transformation abstractions using high-level languages constructs.
high level programming languages notations
High-Level Programming Languages Notations
  • Values of variables can be used as parameters for animation routines.
  • For example, ASAS is a LISP extension that includes primitives such as vectors, colors, polygons, surfaces, groups, points of view, subworlds, and lighting aspects in addition to geometrical transformations operating on objects
    • For example

(grasp my-cube); cube is current object

(cw 0.05); small clock-wise rotation

(grasp camera); camera is current object

(right panning-speed); Move it to the right

graphical languages
Graphical Languages
  • Graphical actions cannot be easily described by and/or understood from textual scripts.
  • Hence, graphical animation languages describe animations in a visual manner.
  • GENESYS, DIAL and S-Dynamics System are examples of such systems.
methods of controlling animations
Methods of Controlling Animations
  • Explicitly Declared
  • Procedural
  • Constraint-Based
  • Analyzing Live Action-Based
  • Kinematic and Dynamic
explicitly declared control
Explicitly Declared Control
  • All events that could occur in an animation are declared. This can be done at the
    • object level by specifying simple transformations (translations, rotations, scaling) to objects
    • frame level by specifying key frames and methods for interpolating between them.
procedural control
Procedural Control
  • Based on communication among different objects whereby each object obtains knowledge about the static/dynamic properties of other objects.
    • Can be used to ensure consistency
      • For example ....
constraint based control
Constraint-Based Control
  • Many objects movements in the real world are determined by other objects which they come in contact with
    • E.g. presence of strong wind or fast moving large objects
  • Instead of explicit declaration, constraints based on the environment can be used to control objects’ motion.
  • Example Systems: Sketchpad and ThingLab.
analyzing live action based control
Analyzing Live Action-Based Control
  • Control is achieved by examining the motions of objects in the real world.
    • Rotoscoping: is a technique where animators trace live action movement, frame by frame, for use in animated films.
      • Originally, pre-recorded live-film images were projected onto a frosted glass panel and redrawn by an animator.
        • This projection equipment is called a Rotoscope.
  • Another way is to attach indicators to key points on the body of a human actor.
    • For example the data glove [gesture language for hearing-impaired people]
kinematic and dynamic control
Kinematic and Dynamic Control
  • Kinematics refer to the position and velocity of points
    • “The cube is at the origin at time t = 0. Thereafter, it moves with constant acceleration in the direction (1 meter, 1 meter, 5 meters)”
  • Dynamics takes into account the physical laws that govern kinematics
    • Newton laws for the movement of large objects
    • Euler-Lagrange equations for fluids
    • A particle moves with an acceleration proportional to the forces acting on it.
    • For example: “At time t = 0, the cube is at position (0 meter, 100 meter, 0 meter). The cube has a mass of 100 grams. The force of gravity acts on the cube.”
display of animation
Display of Animation
  • To display animations with raster systems, the animated objects must be scan-converted and stored as pixmap in the frame buffer.
    • Scan conversion must be done at least 10 times per second to ensure smooth visual effects.
      • The actual scan-conversion must take a small portion of 10 times/second in order to avoid distracting ghost effect
      • Double buffering is used to avoid the ghost effect
display of animation20
Display of Animation
  • Example

Load CLUT to display values as background color;

Scan-convert object into image0

Load CLUT to display only image0


Scan-convert object into image1

Load CLUT to display only image1

Rotate object data structure description

Scan-convert object into image0

Load CLUT to display only image0

Rotate object data structure description

Until (termination condition)

transmission of animation
Transmission of Animation
  • Two forms of transmission
    • Symbolic representation of an animation is transmitted together with the operations performed on the object.
      • The receiver displays the animation.
        • Transmission is fast since text is much smaller than pixmaps
        • Display is slow since the pixmap has to be generated from their descriptions.
    • The pixmap representations are transmitted and displayed
      • Transmission time is longer.
      • Display is faster.
  • Virtual Reality Modeling Language
    • Describes 3D interactive worlds and objects that can be used together with the World Wide Web.
      • Illustrations, product definitions or virtual reality presentations can be generated on the Web.
    • History of VRML
      • May 1994: At the first Int. Conf. on the WWW, the idea of a platform-independent standard for 3-D WWW applications originated
      • October 1994: VRML 1.0 was presented at the second Int. Conf. on the WWW.
        • VRML 1.0 defined the parameters for creating 3D objects that can travel across the Internet.
      • August 1995: VAG (Vrml Architecture Group) was established
  • History of VRML
    • January 1996: VAG called for proposals for VRML 2.0. Each of the following submitted their own
      • Apple: “Out of this World”
      • Sun: “Holoweb”
      • German National Research Center for Information Technology (GMD) and others: “Dynamic Worlds”
      • IBM Japan: “Reactive Virtual Environment”
      • Microsoft: “Active VRML”
      • Silicon Graphics Inc. (SGI), Sony, and others “Moving Worlds”
    • August 1996: VRML 2.0 in its final form was presented in SIGGRAPH 96.
vrml capabilities
VRML Capabilities
  • VRML is capable of representing static and animated objects as well as hyperlinks to other media such as sound, motion pictures and still pictures
  • There are three ways of navigating though a virtual world:
    • Walk: Movement over the ground at eye-level
    • Fly: Movement at any height
    • Examine: Rotating an object in order to closely examine it.
vrml example
VRML Example

Color interpolator

This example interpolates in a 10-second long cycle from red to green to blue

DEF myColor ColorInterpolator{

key [0.0, 0.5, 1.0]

keyValue [1 0 0, 0 1 0, 0 0 1] # red, green, blue


DEF myClock TimeSensor {

cycleInterval 10.0 # 10 second animation

loop TRUE # animation in endless loop