Fall 20066.831 UI Design and Implementation1 Lecture 13: Animation.

Slides:



Advertisements
Similar presentations
Animation Marco Gillies. Computer Animation Making things move A key aspect of computer graphics Non-realtime for films Realtime for virtual worlds and.
Advertisements

1What is the Stage. 2How do you open a panel in Flash
Intro to Game Development An introduction to Swing, Java2D, JOGL, and game design Created by: Dennis Lawter and Dustin Scott.
Sketchify Tutorial Timers sketchify.sf.net Željko Obrenović
6/13/20151 CS 160: Lecture 13 Professor John Canny Fall 2004.
1 Model View Controller. 2 Outline Review Definitions of MVC Why do we need it? Administiriva Changing the display Event flow Dragging at interactive.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
1 1cs426-winter-2008 CS 426: Computer Animation. 2 2cs426-winter-2008 Contact  Robert Bridson,  Office hours: TBD.
Macromedia Flash MX 2004 – Design Professional Animations CREATING.
Sketchify Tutorial Graphics and Animation in Sketchify sketchify.sf.net Željko Obrenović
Review CSC 171 FALL 2004 LECTURE 21. Topics Objects and Classes Fundamental Types Graphics and Applets Decisions Iteration Designing Classes Testing and.
Create frame animations Create motion-tweened animation Work with motion guides Create motion animation effects Animate text Unit Lessons.
UFCEKU-20-3Web Games Programming Tile-based and Isometric Worlds.
Animation IS 247: Information Visualization and Presentation Saifon Obromsook Linda Harjono.
Graphic Design Christine Robson October 23, 2007.
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
Chapter 8 – Part I Interactive Multimedia Authoring with Flash: Animation “Computers and Creativity” Richard D. Webster, COSC 109 Instructor Office: 7800.
CSC 8610 & 5930 Multimedia Technology Lecture 7 Animation Techniques.
SE320: Introduction to Computer Games Week 8: Game Programming Gazihan Alankus.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
05/09/02(c) 2002 University of Wisconsin Last Time Global illumination algorithms Grades so far.
Graphics: Creating Images Chapter 8, Exploring the Digital Domain.
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - GRAPHICS. In this chapter how the computer creates, stores, and displays graphic images how the computer creates,
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
3.02 Explain basic motion graphic programming. Animation Types.
Spring /6.831 User Interface Design and Implementation1 Lecture 3: Visibility.
Digital Media Dr. Jim Rowan ITEC 2110 Video.
Macromedia Flash Design Professional Animations CREATING.
Dm11 – Flash Creating Animations Animations CREATING.
Business and Computing Deanery Multimedia Week 6 Animation.
JQuery 10/21. Today jQuery Some cool tools around the web JavaScript Libraries Drawing libraries HTML Frameworks Conventions.
CST238 Week 6 Questions / Concerns? Announcements – HW#2 due next Monday (project concept/preliminary design) – Check-off Take Home lab#5 Comment about.
Lecture 5: Interaction 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
Multimedia Elements: Sound, Animation, and Video.
3461A Readings from the Swing Tutorial. 3461A Overview  The follow is the Table of Contents from the trail “Creating a GUI with JFC/Swing” in the “The.
Adobe Flash CS3 Revealed
Multimedia Animation. Animation Principles Persistence of vision object seen by human eye remains mapped on retina for a brief time after viewing display.
Spring /6.831 User Interface Design and Implementation1 Lecture 24: Animation HW2 out, due next Sunday look for your evaluation assignment on.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
Programming Video Games
Rujchai Ung-arunyawee Department of Computer Engineering Khon Kaen University.
Lesson 6: Drawing, Painting and Puppetry CMM204 – Digital Media Effects.
Reference: The Game Loop Animation / Game loop 1. Update variables 2. [Get input from the user] (GameLoop only) 3. Draw (using variables)
NEW CHAPTER Circuits and Electronics CHAPTER the BIG idea Circuits control the flow of electric charge. Charge needs a continuous path to flow. Circuits.
11 General Game Programming Approach. The program is event-driven The program is event-driven –Messages = events –So as all windows system (for example.
Animation in the Interface. 2 Reading assignment: This section based on 2 papers n Bay-Wei Chang, David Ungar, “Animation: From Cartoons to the User Interface”,
Fall UI Design and Implementation1 Lecture 6: Output.
Digital Media Dr. Jim Rowan ITEC 2110 Video.
T HE G AME L OOP. A simple model How simply could we model a computer game? By separating the game in two parts: – the data inside the computer, and –
Copyright © Texas Education Agency, All rights reserved.1 Web Technologies Motion Graphics & Animation.
GAM666 – Introduction To Game Programming ● DirectDraw, the 2D component of DirectX, uses the term “surface” to mean an area of memory in which pixel data.
School of Computing and Information Systems RIA Animation, part I.
Introduction to Animation In animation, a series of images are rapidly changed to create an illusion of movement.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Notices Assn 4 posted. Due last day of class. Note that Exercise 10 contains the JavaFX code for three simple GUI programs. Winter 2016CMPE212 - Prof.
Animation. Animation Defined Like video: illusion of motion using sequence images minimally differ from each other. Different from Video: each frame is.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Spring /6.831 User Interface Design and Implementation1 Lecture 25: Input/Output Technology HW2 due Sunday GR5 (final implementation) out Today.
Introducing Scratch Learning resources for the implementation of the scenario
Particle Animation and Rendering Using Data Parallel Computation Karl Sims Optomystic Thinking Machines Corporation Presentation ©2001 Brenden Schubert.
Interactive Animation
CPT 450 Computer Graphics 12th Lecture – Animation.
8. Installing Pygame
Game and animation control flow
Game Loop Frame Rate.
Computer Graphics Imaging Ying Zhu Georgia State University
Lecture 7: Introduction to Processing
Model, View, Controller design pattern
Computer Animation Ying Zhu Georgia State University
Presentation transcript:

Fall UI Design and Implementation1 Lecture 13: Animation

Fall UI Design and Implementation2 UI Hall of Fame or Shame? Suggested by Casey Dugan

Fall UI Design and Implementation3 Today’s Topics Design principles Frame animation Palette animation Property animation Pacing & path

Fall UI Design and Implementation4 Why Animation? Purpose of application –Games, simulations, tutorials, video players Feedback –Visualizing changes not made by user –Keeping the user oriented during transitions –Displaying progress Help –“ Animated icons ” –Moving mouse around to show how to use UI Reinforcing illusion of direct manipulation Aesthetic appeal and engagement

Fall UI Design and Implementation5 Animation Isn’t Always Needed Existing events are often enough to provide incremental screen changes –User ’ s mouse events drive scrolling –Program events can drive a progress bar But bursty or slow events may need animation Short distances and short time periods –time < 100 ms –distance < width of the moving object

Fall UI Design and Implementation6 Design Principles Frame rate > 20 frames per second –10 fps is convincing but looks jerky –Film is 24 fps, TV (NTSC) 30 fps Big jumps are disruptive –Use motion blur if frame rate can ’ t keep up with object speed –Rule of thumb: if object moves more than its width between frames, fill in with motion blur (smear of color or multiple images) Animation in direct manipulation –Solidity (motion blur, fading in/out) –Anticipation (wind up before starting to move) –Slow-in/slow-out –Follow through (wiggle back and forth when stopping) Keep feedback animation short –Many users will wait for it to stop before continuing Use animation sparingly –Constant motion is distracting and agitating

Fall UI Design and Implementation7 Pixel Model: Frame Animation Frame animation –Animated GIF –Graphics.drawImage( …, this) automatically animates GIFs by calling this.repaint() when it ’ s time to show the next frame

Fall UI Design and Implementation8 Pixel Model: Palette Animation Palette animation –Split color index into layers –Double-buffering by making only one layer visible while drawing into the other –Objects can be moved around in one layer without need to redraw underlying layer –Fade-in by interpolating colors between layers

Fall UI Design and Implementation9 Pixel/Stroke Model: Event Loop Approach Approach –Set a periodic timer for 1/frame rate –Repaint every timer tick –Paint method uses current clock time to compute positions/sizes/etc to draw animated objects –Stop timer when animation complete or interrupted May be hard to achieve smooth animation –Event-handling may be bursty –Getting from timer tick to paint method requires two passes through event queue –Processing user input events has priority over animation repaints

Fall UI Design and Implementation10 Pixel/Stroke Model: Animation Loop Approach Tight animation loop approach –Repeat as fast as possible, Check and handle input events Paint everything for current clock time (Optional: sleep a bit to yield to other processes)

Fall UI Design and Implementation11 Component Model: Property Animation Set periodic timer Every timer tick, update component properties as a function of current clock time –Position, size, color, opacity

Fall UI Design and Implementation12 Pacing and Path Pacing function maps time t to parameter s [0,1] –Linear: s = t / duration –Slow-in/slow-out: s ~ atan(t) Path function maps s to property value v –Linear: (x,y) = (1-s)*(x0,y0) + s*(x1,y1) –Quadratic Bezier curve: (x,y) = (1-s)^2*(x0,y0) + 2s(1-s)(x1,y1) + s^2(x2,y2) –Color: HSV vs. RGB

Fall UI Design and Implementation13 Declarative Animation in XAML