Computer Animation. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics. Slides courtesy of Leonard McMillan and Jovan Popovic

Similar documents
Lecture IV: Time Discretization

Fundamentals Physics

Lecture V: The game-engine loop & Time Integration

Principles of Computer Game Design and Implementation. Lecture 17

Physics Fall Mechanics, Thermodynamics, Waves, Fluids. Lecture 20: Rotational Motion. Slide 20-1

CS888 Advanced Topics in Computer Graphics: Physics-Based Animation. Jan. 7, 2014

Articulated body dynamics

Rigid Body Dynamics and Beyond

Dynamics and Time Integration. Computer Graphics CMU /15-662, Fall 2016

Robotics. Dynamics. Marc Toussaint U Stuttgart

Modeling and Solving Constraints. Erin Catto Blizzard Entertainment

Linear Momentum. Lecture 15. Chapter 9. Physics I Department of Physics and Applied Physics

Visual Interactive Simulation, TDBD24, Spring 2006

Thursday Simulation & Unity

PSE Game Physics. Session (6) Angular momentum, microcollisions, damping. Oliver Meister, Roland Wittmann

ODE Runge-Kutta methods

Chapter 8- Rotational Motion

Robotics. Dynamics. University of Stuttgart Winter 2018/19

CS229 Programming Assignment 3: Dynamics

Particle Systems. University of Texas at Austin CS384G - Computer Graphics

Review Higher Order methods Multistep methods Summary HIGHER ORDER METHODS. P.V. Johnson. School of Mathematics. Semester

An Overview of Fluid Animation. Christopher Batty March 11, 2014

Fluid Animation. Christopher Batty November 17, 2011

CS-184: Computer Graphics

Modeling and Experimentation: Compound Pendulum

Passive Dynamics and Particle Systems COS 426

Physics 2514 Lecture 26

Solving PDEs with PGI CUDA Fortran Part 4: Initial value problems for ordinary differential equations

Particle Systems. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017

Dynamics. Kinematics and Dynamics. Passive vs. Active Dynamics. Passive Dynamics. Passive Dynamics. Particle Systems

Ordinary Differential Equations

Lecture 1 Notes: 06 / 27. The first part of this class will primarily cover oscillating systems (harmonic oscillators and waves).

Logistic Map, Euler & Runge-Kutta Method and Lotka-Volterra Equations

Momentum Energy Angular Momentum

particle p = m v F ext = d P = M d v cm dt

DYNAMICAL SYSTEMS

Projects. Assignments. Plan. Motivational Films. Motivational Film 1/6/09. Dynamics II. Forces, Collisions and Impulse

Soft Bodies. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies

Physics A - PHY 2048C

ORDINARY AND SUPER-BALL BOUNCES

Physics 351 Wednesday, January 10, 2018

Feedback Basics. David M. Auslander Mechanical Engineering University of California at Berkeley. copyright 1998, D.M. Auslander

ECE257 Numerical Methods and Scientific Computing. Ordinary Differential Equations

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Modeling, Simulating and Rendering Fluids. Thanks to Ron Fediw et al, Jos Stam, Henrik Jensen, Ryan

Langevin Rigid: Animating Immersed Rigid Bodies in Real-time

First Year Physics: Prelims CP1 Classical Mechanics: DR. Ghassan Yassin

Fourth Order RK-Method

Conservation of Momentum

Math background. Physics. Simulation. Related phenomena. Frontiers in graphics. Rigid fluids

Physics 141. Lecture 18. Frank L. H. Wolfs Department of Physics and Astronomy, University of Rochester, Lecture 18, Page 1

Announcements. 1. Do not bring the yellow equation sheets to the miderm. Idential sheets will be attached to the problems.

Review of Linear Momentum And Rotational Motion

2007 Problem Topic Comment 1 Kinematics Position-time equation Kinematics 7 2 Kinematics Velocity-time graph Dynamics 6 3 Kinematics Average velocity

Ordinary Differential Equations

Chapter 11. Angular Momentum

Chapter 6 - Ordinary Differential Equations

Physics 8 Friday, September 18, 2015

Torque and Rotation Lecture 7

Final Exam. June 10, 2008, 1:00pm

ME 230: Kinematics and Dynamics Spring 2014 Section AD. Final Exam Review: Rigid Body Dynamics Practice Problem

Lecture 4: Numerical solution of ordinary differential equations

Physics 131: Lecture 15. Today s Agenda

7 The Navier-Stokes Equations

Streamline calculations. Lecture note 2

1/30. Rigid Body Rotations. Dave Frank

PHYSICS I. Lecture 1. Charudatt Kadolkar. Jul-Nov IIT Guwahati

The class meets daily for 80 minutes for the entire school year. Chapter or unit tests occur every two to three weeks.

Numerical methods for the Navier- Stokes equations

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit V Solution of

Physically Based Modeling Differential Equation Basics

Predicting the future with Newton s Second Law

Dynamics and Time Integration

Lecture 10. (2) Functions of two variables. Partial derivatives. Dan Nichols February 27, 2018

Physics 351 Wednesday, January 14, 2015

A Brief Introduction to Numerical Methods for Differential Equations

TAU Solver Improvement [Implicit methods]

Game Physics: Basic Concepts

Physics 6010, Fall Relevant Sections in Text: Introduction

Physics 351 Friday, April 24, 2015

PLANAR KINETIC EQUATIONS OF MOTION (Section 17.2)

Review of Linear Momentum And Rotational Motion

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Chapter 9- Static Equilibrium

Checking the Radioactive Decay Euler Algorithm

Northwestern CT Community College Course Syllabus. Course Title: CALCULUS-BASED PHYSICS I with Lab Course #: PHY 221

Initial value problems for ordinary differential equations

Numerical Methods for Inverse Kinematics

General Physics I Momentum

Introduction MEAM 535. What is MEAM 535? Audience. Advanced topics in dynamics

27. Impact Mechanics of Manipulation

Physical Simulation. October 19, 2005

AM205: Assignment 3 (due 5 PM, October 20)

Experience with DNS of particulate flow using a variant of the immersed boundary method

Lecture 2 - Force Analysis

DEVIL PHYSICS THE BADDEST CLASS ON CAMPUS AP PHYSICS

2-D Motion of Rigid Bodies - Kinematics

8.012 Physics I: Classical Mechanics Fall 2008

General Physics I. Lecture 10: Rolling Motion and Angular Momentum.

Lecture 41: Highlights

Transcription:

Computer Animation Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002

Office hours Administrative Durand & Teller by appointment Ngan Thursday 4-7 in W20-575 Deadline for proposal: Friday Nov 1 Meeting with faculty & staff about proposal Next week Web page for appointment Lecture 14 Slide 2 6.837 Fall 2002

Animation 4 approaches to animation Pros? Cons? Lecture 14 Slide 3 6.837 Fall 2002

Keyframing Computer-Assisted Animation automate the inbetweening good control less tedious creating a good animation still requires considerable skill and talent Procedural animation describes the motion algorithmically express animation as a function of small number of parameteres Example: a clock with second, minute and hour hands hands should rotate together express the clock motions in terms of a seconds variable the clock is animated by varying the seconds parameter Example 2: A bouncing ball Abs(sin(ωt+θ 0 ))*e -kt ACM 1987 Principles of traditional animation applied to 3D computer animation Lecture 14 Slide 4 6.837 Fall 2002

Computer-Assisted Animation Physically Based Animation Assign physical properties to objects (masses, forces, inertial properties) Simulate physics by solving equations Realistic but difficult to control Motion Capture Captures style, subtle nuances and realism You must observe someone do something ACM 1988 Spacetime Constraints Lecture 14 Slide 5 6.837 Fall 2002

Overview Keyframing and interpolation Interpolation of rotations, quaternions Kimematrics, articulation Particles Rigid bodies x ( t ) v ( t ) Deformable objects, clothes, fluids Lecture 14 Slide 6 6.837 Fall 2002

Kinematics vs. Dynamics Kinematics Describes the positions of the body parts as a function of the joint angles. Dynamics Describes the positions of the body parts as a function of the applied forces. Lecture 14 Slide 7 6.837 Fall 2002

Now Dynamics ACM 1988 Spacetime Constraints Lecture 14 Slide 8 6.837 Fall 2002

Particle A single particle in 2-D moving in a flow field Position x x 1 = x 2 Velocity v v, v 2 1 = v = d x dt The flow field function dictates particle velocity v = (,t ) g x x 2 x ( t ) g( x,t ) x 1 Lecture 14 Slide 9 6.837 Fall 2002

Vector Field The flow field g(x,t) is a vector field that defines a vector for any particle position x at any time t. x 2 g( x,t ) x 1 How would a particle move in this vector field? Lecture 14 Slide 10 6.837 Fall 2002

Differential Equations The equation v = g(x, t) is a first order differential equation: d x = g( x, t ) dt The position of the particle is computed by integrating the differential equation: ( ) ( ) ( ) x t x t g x t dt 0, For most interesting cases, this integral cannot be computed analytically. t = + t 0 Lecture 14 Slide 11 6.837 Fall 2002

Numeric Integration Instead we compute the particle s position by numeric integration: starting at some initial point x(t 0 ) we step along the vector field to compute the position at each subsequent time instant. This type of a problem is called an initial value problem. x 2 x ( ) t 0 x ( ) t 1 x ( ) t 2 x 1 Lecture 14 Slide 12 6.837 Fall 2002

Euler s Method Euler s method is the simplest solution to an initial value problem. Euler s method starts from the initial value and takes small time steps along the flow: Why does this work? ( t + t ) = ( t ) + t (, t ) x x g x Let s look at a Taylor series expansion of function x(t): 2 2 ( t t ) ( t ) t dx t d x x + = x + + + L dt 2 2 dt Disregarding higher-order terms and replacing the first derivative with the flow field function yields the equation for the Euler s method. Lecture 14 Slide 13 6.837 Fall 2002

Other Methods Euler s method is the simplest numerical method. The error is 2 proportional to t. For most cases, the Euler s method is inaccurate and unstable requiring very small steps. x 2 Other methods: Midpoint (2 nd order Runge-Kutta) Higher order Runge-Kutta (4 th order, 6 th order) Adams Adaptive Stepsize x 1 Lecture 14 Slide 14 6.837 Fall 2002

Particle in a Force Field What is a motion of a particle in a force field? The particle moves according to Newton s Law: 2 d x f = 2 ( f = ma ) dt m The mass m of a particle describes the particle s inertial properties: heavier particles are easier to move than lighter particles. In general, the force field f(x, v, t) may depend on the time t and particle s position x and velocity v. Lecture 14 Slide 15 6.837 Fall 2002

Second-Order Differential Equations Newton s Law yields an ordinary differential equation of second order: 2 d x( t ) f( x, v, t ) = 2 dt m A clever trick allows us to reuse the same numeric differentiation solvers for first-order differential equations. If we define a new phase space vector y, which consists of particle s position x and velocity v, then we can construct a new first-order differential equation whose solution will also solve the second-order differential equation. y x d y dx/ dt v =, = = dt d / dt / m v v f Lecture 14 Slide 16 6.837 Fall 2002

Particle Animation AnimateParticles(n, y 0, t 0, t f ) { y = y 0 t = t 0 DrawParticles(n, y) while(t!= t f ) { f = ComputeForces(y, t) dydt = AssembleDerivative(y, f) {y, t } = ODESolverStep(6n, y, dy/dt) DrawParticles(n, y) } } Lecture 14 Slide 17 6.837 Fall 2002

Particle Animation [Reeves et al. 1983] Start Trek, The Wrath of Kahn Star Trek, The Wrath of Kahn [Reeves et al. 1983] Lecture 14 Slide 18 6.837 Fall 2002

Particle Modeling [Reeves et al. 1983] Lecture 14 Slide 19 6.837 Fall 2002

Overview Keyframing and interpolation Interpolation of rotations, quaternions Kimematrics, articulation Particles Rigid bodies x ( t ) v ( t ) Deformable objects, clothes, fluids Lecture 14 Slide 20 6.837 Fall 2002

Rigid-Body Dynamics We could compute the motion of a rigid-body by computing the motion of all constituent particles. However, a rigid body does not deform and position of few of its particles is sufficient to determine the state of the body in a phase space. We ll start with a special particle located at the body s center of mass. x ( t ) v ( t ) y ( t ) ( t ) x? = v ( t )? Lecture 14 Slide 21 6.837 Fall 2002

Net Force f 1 ( t ) f 2 ( t ) x ( t ) v ( t ) f ( t ) f ( t ) = i i f 3 ( t ) Lecture 14 Slide 22 6.837 Fall 2002

Net Torque f 1 ( t ) f 2 ( t ) 1 ( ) p b t x ( t ) 2 v ( ) p b t ( t ) 3 ( ) p b t f 3 ( t ) ( ) ( ) i i ( ) b ( ) τ t = p x t f t i Lecture 14 Slide 23 6.837 Fall 2002

Rigid-Body Equation of Motion d dt y ( t ) x( t ) R( ) v( ) ( ) ( ) v( t ) ( ) R( ) f( ) ( ) d t ω t t = = dt M t t I t ω t τ t Mv I ( t ) ( t ) ω ( t ) linear momentum angular momentum Lecture 14 Slide 24 6.837 Fall 2002

Simulations with Collisions Simulating motions with collisions requires that we detect them (collision detection) and fix them (collision response). y ( ) t 3 y ( ) t 1 y ( ) t 2 y ( ) t 0 Lecture 14 Slide 25 6.837 Fall 2002

Collision Response The mechanics of collisions are complicated and many mathematical models have been developed. We ll just look at a one simple model, which assumes that when the collision occurs the two bodes exchange collision impulse instantaneously. b n v b p v + =? Lecture 14 Slide 26 6.837 Fall 2002

Frictionless Collision Model ε ( ) n + b v = b v n v b n b p ε = 1 v + ε = 1 2 ε = 0 Lecture 14 Slide 27 6.837 Fall 2002

Overview Keyframing and interpolation Interpolation of rotations, quaternions Kimematrics, articulation Particles Rigid bodies x ( t ) v ( t ) Deformable objects, clothes, fluids Lecture 14 Slide 28 6.837 Fall 2002

Deformable models Shape deforms due to contact Discretize the problem Animation runs with smaller time steps than rendering (between 1/10,000s and 1/100s) Images from Debunne et al. 2001 Lecture 14 Slide 29 6.837 Fall 2002

Mass-Spring system Network of masses and springs Express forces Integrate Deformation of springs simulates deformation of objects F Images from Debunne et al. 2001 [Dorsey 1996] Lecture 14 Slide 30 6.837 Fall 2002

Implicit Finite Elements Discretize the problem Express the interrelationship Solve a big system More principled than mass-spring Object Slide from Debunne et al. 2001 Finite Elements Large matricial system Lecture 14 Slide 31 6.837 Fall 2002

Explicit Finite Elements Discretize the problem Solve locally Simpler but less stable than implicit Object Slide from Debunne et al. 2001 Finite Elements Independent matricial systems Lecture 14 Slide 32 6.837 Fall 2002

Formally: Finite Elements We are trying to solve a continuous problem Deformation of all points of the object Infinite space of functions We project to a finite set of basis functions E.g. piecewise linear, piecewise constant We project the equations governing the problem This results in a big linear system Object Finite Elements Large matricial system Lecture 14 Slide 33 6.837 Fall 2002

Cloth animation Discretize cloth Write physical equations Integrate Collision detection Image from Meyer et al. 2001 Lecture 14 Slide 34 6.837 Fall 2002

Fluid simulation Discretize volume of fluid Exchanges and velocity at voxel boundary Write Navier Stokes equations Incompressible, etc. Numerical integration Finite elements, finite differences Challenges: Robust integration, stability Speed Realistic surface Figure from Fedkiw et al. 2001 Figure from Enright et al. 2002 Lecture 14 Slide 35 6.837 Fall 2002

Other physical animation Aging of materials Metallic patina, rust Water flow Stone aging [Dorsey 1996-1999] Lecture 14 Slide 36 6.837 Fall 2002

How do they animate movies? Keyframing mostly Articulated figures, inverse kinematics Skinning Complex deformable skin Muscle, skin motion Hierarchical controls Smile control, eye blinking, etc. Keyframes for these higher-level controls A huge time is spent building the 3D models, its skeleton and its controls Physical simulation for secondary motion Hair, cloths, water Particle systems for fuzzy objects Images from the Maya tutorial Lecture 14 Slide 37 6.837 Fall 2002

Next time: Texture mapping Lecture 14 Slide 38 6.837 Fall 2002