Animation Lecture 10 Slide 1.

Slides:



Advertisements
Similar presentations
Animation Lecture 10 Slide Fall Conventional Animation Draw each frame of the animation great control Tedious Reduce burden with cel animation.
Advertisements

Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Graphics Korea University Computer Animation Computer Graphics.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss.
CSCE 689: Forward Kinematics and Inverse Kinematics
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
Animation CMSC 435/634. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws frames between keys.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Interactive Graphics Lecture 18: Slide 1 Interactive Computer Graphics Lecture 18 Kinematics and Animation.
Lecture 10Slide Fall 2003 Animation. Lecture 10Slide Fall 2003 Conventional Animation Draw each frame of the animation great control tedious.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
Definition of an Industrial Robot
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Key Frame Animation and Inverse Kinematics
Simulation and Animation
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
2D ANIMATION. Project Requirements Creation of basic bouncing ball Creation of an individual animation –Storyboard –Drawings/Digital frames –Export.
Robotics Chapter 5 – Path and Trajectory Planning
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Lecture 13Slide Fall 2002 Animation. Lecture Fall 2002 Computer Animation Animation Methods Keyframing Interpolation Kinematics Inverse.
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
Animation Dr. Amy Zhang Lecture 8. Reading 2  Hill, Chapters 5 / 7 / 10  Red Book, Chapter 3, “Viewing”  Red Book, Chapter 12, “Evaluators and NURBS”
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Animation CMSC 435/634 By Prof. Marc Olano. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
1cs426-winter-2008 Notes  Will add references to splines on web page.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Computer Graphics Chapter 12 Computer Animation.
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Fundamentals of Computer Animation
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Physically-Based Motion Synthesis in Computer Graphics
CSCE 441: Computer Graphics Forward/Inverse kinematics
Computer Graphics.
Trajectory Generation
Character Animation Forward and Inverse Kinematics
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Computer Animation cgvr.korea.ac.kr.
INVERSE MANIPULATOR KINEMATICS
Direct Manipulator Kinematics
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
Basics of Motion Generation
© University of Wisconsin, CS559 Spring 2004
CSCE 441: Computer Graphics Forward/Inverse kinematics
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
(c) 2002 University of Wisconsin
Types of Animation.
Synthesis of Motion from Simple Animations
© Sharif University of Technology - CEDRA By: Professor Ali Meghdari
Computer Graphics Lecture 15.
Presentation transcript:

Animation Lecture 10 Slide 1

Conventional Animation Draw each frame of the animation great control tedious Reduce burden with cel animation layer keyframe inbetween cel panoramas (Disney’s Pinocchio) ... ACM © 1997 “Multiperspective panoramas for cel animation” Lecture 10 Slide 2

Computer-Assisted Animation Keyframing 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(wt+q0))*e-kt ACM © 1987 “Principles of traditional animation applied to 3D computer animation” Lecture 10 Slide 3

Computer-Assisted Animation ACM© 1988 “Spacetime Constraints” 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 Lecture 10 Slide 4

Overview Hermite Splines Keyframing Traditional Principles Articulated Models Forward Kinematics Inverse Kinematics Optimization Differential Constraints Lecture 10 Slide 5

Keyframing Describe motion of objects as a function of time from a set of key object positions. In short, compute the inbetween frames. ACM © 1987 “Principles of traditional animation applied to 3D computer animation” Lecture 10 Slide 6

Interpolating Positions Given positions: find curve such that Lecture 10 Slide 7

Linear Interpolation Simple problem: linear interpolation between first two points assuming : The x-coordinate for the complete curve in the figure: Derivation? Lecture 10 Slide 8

Polynomial Interpolation An n-degree polynomial can interpolate any n+1 points. The Lagrange formula gives the n+1 coefficients of an n-degree polynomial that interpolates n+1 points. The resulting interpolating polynomials are called Lagrange polynomials. On the previous slide, we saw the Lagrange formula for n = 1. parabola Lecture 10 Slide 9

Spline Interpolation Lagrange polynomials of small degree are fine but high degree polynomials are too wiggly. How many n-degree polynomials interpolate n+1 points? 8-degree polynomial spline spline vs. polynomial Lecture 10 Slide 10

Spline Interpolation Lagrange polynomials of small degree are fine but high degree polynomials are too wiggly. Spline (piecewise cubic polynomial) interpolation produces nicer interpolation. 8-degree polynomial spline spline vs. polynomial Lecture 10 Slide 11

Spline Interpolation A cubic polynomial between each pair of points: Four parameters (degrees of freedom) for each spline segment. Number of parameters: n+1 points  n cubic polynomials  4n degrees of freedom Number of constraints: interpolation constraints n+1 points  2 + 2 (n-1) = 2n interpolation constraints “endpoints” + “each side of an internal point” rest by requiring smooth velocity, acceleration, etc. Lecture 10 Slide 12

Hermite Splines We want to support general constraints: not just smooth velocity and acceleration. For example, a bouncing ball does not always have continuous velocity: Solution: specify position AND velocity at each point Derivation? Lecture 10 Slide 13

Keyframing Given keyframes find curves such that What are parameters ? position, orientation, size, visibility, … Interpolate each curve separately Lecture 10 Slide 14

Interpolating Key Frames Interpolation is not fool proof. The splines may undershoot and cause interpenetration. The animator must also keep an eye out for these types of side-effects. Lecture 10 Slide 15

Traditional Animation Principles The in-betweening, was once a job for apprentice animators. We described the automatic interpolation techniques that accomplish these tasks automatically. However, the animator still has to draw the key frames. This is an art form and precisely why the experienced animators were spared the in-betweening work even before automatic techniques. The classical paper on animation by John Lasseter from Pixar surveys some the standard animation techniques: "Principles of Traditional Animation Applied to 3D Computer Graphics,“ SIGGRAPH'87, pp. 35-44. Lecture 10 Slide 16

Squash and stretch Squash: flatten an object or character by pressure or by its own power Stretch: used to increase the sense of speed and emphasize the squash by contrast Lecture 10 Slide 17

Timing Timing affects weight: Light object move quickly Heavier objects move slower Timing completely changes the interpretation of the motion. Because the timing is critical, the animators used the draw a time scale next to the keyframe to indicate how to generate the in-between frames. Lecture 10 Slide 18

Anticipation An action breaks down into: Reaction Anatomical motivation: a muscle must extend before it can contract. Prepares audience for action so they know what to expect. Directs audience’s attention. Amount of anticipation can affect perception of speed and weight. Lecture 10 Slide 19

Articulated Models Articulated models: rigid parts connected by joints They can be animated by specifying the joint angles as functions of time. Lecture 10 Slide 20

Forward Kinematics Describes the positions of the body parts as a function of the joint angles. 1 DOF: knee 2 DOF: wrist 3 DOF: arm Lecture 10 Slide 21

Skeleton Hierarchy Each bone transformation described relative to the parent in the hierarchy: hips ... left-leg r-thigh r-calf vs y x z r-foot Derive world coordinates for an effecter with local coordinates ? Lecture 10 Slide 22

Forward Kinematics Transformation matrix for an effecter vs is a matrix composition of all joint transformation between the effecter and the root of the hierarchy. vs y x z vs vs Lecture 10 Slide 23

Inverse Kinematics Forward Kinematics Inverse Kinematics Given the skeleton parameters (position of the root and the joint angles) p and the position of the effecter in local coordinates vs, what is the position of the sensor in the world coordinates vw? Not too hard, we can solve it by evaluating Inverse Kinematics Given the position of the effecter in local coordinates vs and the desired position ṽw in world coordinates, what are the skeleton parameters p? Much harder requires solving the inverse of the non-linear function: Underdetermined problem with many solutions vs Lecture 10 Slide 24

Real IK Problem Find a “natural” skeleton configuration for a given collection of pose constraints. Definition: A scalar objective function g(p) measures the quality of a pose. The objective g(p) reaches its minimum for the most natural skeleton configurations p. Definition: A vector constraint function C(p) = 0 collects all pose constraints: Lecture 10 Slide 25

Optimization Compute the optimal parameters p* that satisfy pose constraints and maximize the natural quality of skeleton configuration: Example objective functions g(p): deviation from natural pose: joint stiffness power consumption … Lecture 10 Slide 26

Unconstrained Optimization Define an objective function f(p) that penalizes violation of pose constraints: Necessary condition: Lecture 10 Slide 27

Numerical Solution Gradient methods Guess initial solution x0 Iterate Until The conditions guarantee that each new iterate is more optimal . Derive? Some choices for direction dk: Steepest descent Newton’s method Quasi-Newton methods Lecture 10 Slide 28

Gradient Computation Requires computation of constraint derivatives: Compute derivatives of each transformation primitive Apply chain rule Example: Derive if R is a rotation around z-axis? Lecture 10 Slide 29

Constrained Optimization Unconstrained formulation has drawbacks: Sloppy constraints The setting of penalty weights wi must balance the constraints and the natural quality of the pose Necessary condition for equality constraints: Lagrange multiplier theorem: λ0 , λ1, … are scalars called Lagrange multipliers Interpretations: Cost gradient (direction of improving the cost) belongs to the subspace spanned by constraint gradients (normals to the constraints surface). Cost gradient is orthogonal to subspace of feasible variations. Lecture 10 Slide 30

Example Lecture 10 Slide 31

Nonlinear Programming Use Lagrange multipliers and nonlinear programming techniques to solve the IK problem: In general, slow for interactive use! Lecture 10 Slide 32

Differential Constraints Differential constraints linearize original pose constraints. Rewrite constraints by pulling the desired effecter locations to the right hand side Construct linear approximation around the current parameter p. Derive with Taylor series. Lecture 10 Slide 33

IK with Differential Constraints Interactive Inverse Kinematics User interface assembles desired effecter variations Solve quadratic program with Lagrange multipliers: Update current pose: Objective function is quadratic, differential constraints are linear. Some choices for matrix M: Identity: minimizes parameter variations Diagonal: minimizes scaled parameter variations Lecture 10 Slide 34

Quadratic Program Elimination procedure Apply Lagrange multiplier theorem and convert to vector notation: general form in scalar notation: Rewrite to expose Δp: Use this expression to replace Δp in the differential constraint: Solve for Lagrange multipliers and compute Δp* Lecture 10 Slide 35

Kinematics vs. Dynamics Describes the positions of body parts as a function of skeleton parameters. Dynamics Describes the positions of body parts as a function of applied forces. Lecture 10 Slide 36

ACM© 1988 “Spacetime Constraints” Next Dynamics ACM© 1988 “Spacetime Constraints” Lecture 10 Slide 37