Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Similar documents
A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Topics in Computer Animation

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

To Do. History of Computer Animation. These Lectures. 2D and 3D Animation. Computer Animation. Foundations of Computer Graphics (Spring 2010)

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Motion Capture & Simulation

animation computer graphics animation 2009 fabio pellacini 1

Computer Animation. Rick Parent

Computer Animation II

Computer Animation III

Interpolating/approximating pp gcurves

Animation Essentially a question of flipping between many still images, fast enough

CS354 Computer Graphics Rotations and Quaternions

Animation. Animation

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Kinematical Animation.

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Animation Curves and Splines 2

Orientation & Quaternions

animation projects in digital art animation 2009 fabio pellacini 1

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

12.1 Quaternions and Rotations

Visual Recognition: Image Formation

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

Animation and Quaternions

Quaternions and Rotations

Fundamentals of Computer Animation

IMAGE-BASED RENDERING AND ANIMATION

Computer Animation. Courtesy of Adam Finkelstein

Announcements. Ray tracer is due in five days you should have started by now or you re going to have a bad week. Missing file posted on the web page

COMP371 COMPUTER GRAPHICS

Animation. Traditional Animation Keyframe Animation. Interpolating Rotation Forward/Inverse Kinematics

Kinematics, Kinematics Chains CS 685

Fundamentals of Computer Animation

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Quaternions and Rotations

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Lesson 1: Introduction to Pro/MECHANICA Motion

Lecture VI: Constraints and Controllers

PSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann

Mass-Spring Systems. Last Time?

Articulated Characters

Quaternions and Rotations

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc.

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

3D Kinematics. Consists of two parts

Data-driven Approaches to Simulation (Motion Capture)

MA 243 Calculus III Fall Assignment 1. Reading assignments are found in James Stewart s Calculus (Early Transcendentals)

CSE 682: Animation. Winter Jeff Walsh, Stephen Warton, Brandon Rockwell, Dustin Hoffman

INSTITUTE OF AERONAUTICAL ENGINEERING

For each question, indicate whether the statement is true or false by circling T or F, respectively.

CS 231. Basics of Computer Animation

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

The Jello Cube Assignment 1, CSCI 520. Jernej Barbic, USC

Inverse Kinematics Programming Assignment

Manipulator trajectory planning

Karen Liu associate professor at School of Interactive Computing. Murali Varma graduate student at School of Interactive Computing

Animation. CS 465 Lecture 22

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Anatomy of a Physics Engine. Erwin Coumans

Keyframe Animation. Animation. Computer Animation. Computer Animation. Animation vs Modeling. Animation vs Modeling

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics

Particle Systems. Lecture 8 Taku Komura

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Transformations Week 9, Lecture 18

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/27/2017

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

Section Parametrized Surfaces and Surface Integrals. (I) Parametrizing Surfaces (II) Surface Area (III) Scalar Surface Integrals

Inertial Measurement Units II!

Physics Tutorial 2: Numerical Integration Methods

Trajectory planning in Cartesian space

Simulation in Computer Graphics. Introduction. Matthias Teschner. Computer Science Department University of Freiburg

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Interactive Computer Graphics

Introduction to Robotics

Animation. Itinerary. What is Animation? What is Animation? Animation Methods. Modeling vs. Animation Computer Graphics Lecture 22

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation

Transforms. COMP 575/770 Spring 2013

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz

Animation. Itinerary Computer Graphics Lecture 22

Advanced Graphics and Animation

Ragdoll Physics. Abstract. 2 Background. 1 Introduction. Gabe Mulley, Matt Bittarelli. April 25th, Previous Work

Graphics and Interaction Transformation geometry and homogeneous coordinates

Transcription:

Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1

Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral modeling Motion capture 4/23/07 2

Interpolation Interpolation is at the heart of animation gives control and continuity Keyframing animator specifies parameters at a few time instances interpolate for other times 4/23/07 3

Interpolating positions Can interpolate positions using splines Velocity on the curve also matters uniform changes in parameter don t necessarily translate to uniform changes in position faster slower 4/23/07 4

Arc length reparameterization Define s(u) as distance along a curve P(u): su ( ) = How to compute s(u) Analytically - not possible with some curves Numerically u 0 dp dµ dµ dp dx( u) dy( u) dz( u) = du du du du 4/23/07 5

Arc length reparameterization Compute inverse to get parameter as a function of distance u(s) s Arc length reparameterization: ( ) u Pus () s [0,( su end )] 4/23/07 6

Speed curves Arc-length parameterization gives uniform velocity on the curve provides a base for arbitrary velocity Ease-in / ease-out smooth start and stop motion at endpoints Can directly specify speed and integrate over time to get a distance-time function s(t): ds dt s t 4/23/07 7 t

Distance-time functions s s s t t t s s s t t 4/23/07 8 t

Interpolating orientation Fixed-axis angles Rotate about fixed global axes in some order e.g. x - y - z Euler angles Rotate about local axis in some order Problems does not always interpolate along a direct path Gimbal lock loss of a degree of freedom 4/23/07 9

Interpolating orientation Axis-angle interpolate axis and angle separately difficult to concatenate two axis-angle rotations Quaternions essentially the same information as axis-angle easy to concatenate rotations 4/23/07 10

Quaternions Represented by 4-tuple A vector in space Addition Multiplication associative but not commutative qq = ss v v sv + sv + v v Inverse [ ] 1 2 1 2 1 2 1 2 2 1 1 2 ( ) 2 1 [ ] q= [ s x y z] = [ s v] [ 0 v ] q + q = [ s + s v + v ] 1 2 1 2 1 2 q = q s v q = s + x + y + z 1 qq = 1 2 2 2 2 [ 1 0 0 0] 4/23/07 11

Rotations with Quaternions Representing axis-angle rotations q = [ cos( θ / 2) sin( θ / 2) a] Concatenate rotations by multiplication q = qq 1 2 Rotating a vector v' = qvq 1 inverse rotates in opposite direction magnitude cancels out. Thus q and q represent the same orientation 4/23/07 12

Interpolating Quaternions Since q = -q we can interpolate from q 1 to q 2 or q 1 to -q 2 desirable rotation is usually the shorter one q1 q2 = cosθ check with 4D dot product which gives the cosine of the angle between the two orientations Linear interpolation doesn t give correct results Spherical linear interpolation: ( u θ ) sin (1 ) sin( uθ ) slerp( q, q, t) = q + q sin( θ) sin( θ) 1 2 1 2 4/23/07 13 q 1 q 2

Kinematics and Dynamics Kinematics Considers only motion Deals mostly with geometric constraints Dynamics Considers underlying forces Compute configurations from initial conditions and law of physics 4/23/07 14

Kinematics Forward Kinematics Specify conditions (joint angles) Compute positions of end effectors Inverse Kinematics Specify goal positions of end effectors Compute conditions required to achieve goals θ 2 end effector θ 1 θ 3 4/23/07 15

Inverse kinematics Problem is typically underconstrained multiple solutions can choose minimum energy solution At each step: Compute difference between goal and current state Compute Jacobian of state vector Solve for change in state that moves closer to goal Integrate Easier specification for many animation tasks, but more expensive to compute 4/23/07 16

Inverse Kinematics θ 2 ( xv, ) θ 1 θ 3 ( x, v ) end end dθ1 dx dx dx dt dθ 1 dθ2 dθ 3 dθ x 2 end x dv dv dv dt = dθ1 dθ2 dθ3 dθ3 vend v dt i+ 1 i θ 1 θ 1 θ θ θ θ dθ1 dt i+ 1 i dθ2 2 = 2 + dt i+ 1 i dθ 3 3 3 dt t 4/23/07 17

Rigid body dynamics Uses laws of physics to provide motion Basic steps Compute forces Compute accelerations from forces Integrate to find positions and velocities 4/23/07 18

An example Cannon ball f f gravity drag = mgy = mµ v f = f = ma p= mv j ( i+ 1) ( i) p p f x = + t p = x + m ( i+ 1) ( i) () i Euler Midpoint RK4 4/23/07 19

Rigid body dynamics For 3D bodies add orientation angular momentum Constraints Add hard constraints by modifying equations Add soft-constraints with springs and dampers 4/23/07 20

Collisions Collision detection - expensive Accelerate with hierarchies (e.g. bounding volumes) Exploint coherence Collision response kinematic penalty methods impulse methods 4/23/07 21

Fluids Very difficult to model by hand Use computational fluid dynamics more emphasis on speed and visual plausibility than accuracy 4/23/07 22

Particle systems Good for simulating smoke, fire, explosions, water, rain, snow, etc. 4/23/07 23

Particle systems Steps in computing a frame for a particle system New particles are born New particles assigned attributes Particles removed that exceed life span Particles are animated and shading parameters changed Render particles http://video.google.com/videoplay?docid=6837287098782625175 4/23/07 24

Behavioral modeling Flocking Autonomous agents add AI to the animation process snake learns how to move crowds in train station 4/23/07 25

Motion capture Track actor s motion optical magnetic exoskeleton Recover joint angles from captured data Retarget motion to CG character Images copyright New Line Productions 4/23/07 26

Motion capture Issues noise slippage occluded markers limited capture space people aren t really rigid bodies dynamics of character aren t the same due to different proportions and mass distribution 4/23/07 27