SWE 423: Multimedia Systems - PowerPoint PPT Presentation

About This Presentation
Title:

SWE 423: Multimedia Systems

Description:

(cw 0.05); small clock-wise rotation (grasp camera); camera is current object ... Display is slow since the pixmap has to be generated from their descriptions. ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 26
Provided by: wasfiga
Category:

less

Transcript and Presenter's Notes

Title: SWE 423: Multimedia Systems


1
SWE 423 Multimedia Systems
  • Chapter 6 Computer-Based Animation

2
Outline
  • Introduction
  • Producing an Animation
  • Specifications of Animations
  • Methods of Controlling Animations
  • Display of Animations
  • Transmission of Animations
  • VRML

3
Introduction
  • An animation covers all changes that have a
    visual effect

4
Introduction
  • Computer-based animations are produced, edited
    and generated with the help of graphical tools to
    create visual effects
  • Multimedia APIs
  • 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

5
Introduction
  • 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)

6
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.

7
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)

8
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.

9
Specification of Animations
  • Formal specifications that describe animations
    can be divided into three categories
  • Linear-List Notations
  • High-Level Programming Language Notations
  • Graphical Languages

10
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.

11
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

12
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.

13
Methods of Controlling Animations
  • Explicitly Declared
  • Procedural
  • Constraint-Based
  • Analyzing Live Action-Based
  • Kinematic and Dynamic

14
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.

15
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 ....

16
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.

17
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

18
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.

19
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

20
Display of Animation
  • Example
  • Load CLUT to display values as background color
  • Scan-convert object into image0
  • Load CLUT to display only image0
  • Repeat
  • 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)

21
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.

22
VRML
  • 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

23
VRML
  • 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.

24
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.

25
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
Write a Comment
User Comments (0)
About PowerShow.com