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

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

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

Animation. CS 465 Lecture 22

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

Animation. CS 4620 Lecture 19. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

Quaternions and Rotations

CS354 Computer Graphics Rotations and Quaternions

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

12.1 Quaternions and Rotations

Quaternions and Rotations

2D/3D Geometric Transformations and Scene Graphs

Quaternions and Rotations

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Vector Algebra Transformations. Lecture 4

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

Quaternions and Rotations

Animation Curves and Splines 2

3D Modelling: Animation Fundamentals & Unit Quaternions

Inverse Kinematics Programming Assignment

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

Visual Recognition: Image Formation

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

Transformations Week 9, Lecture 18

Computer Animation II

CS 130 Final. Fall 2015

CS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside

Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $!

Animation and Quaternions

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

animation computer graphics animation 2009 fabio pellacini 1

Orientation & Quaternions

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

COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

Fundamentals of Computer Animation

Kinematics and Orientations

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

Geometric Transformations

Rotations in 3D Graphics and the Gimbal Lock

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

Articulated Characters

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

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

Visualizing Quaternions

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

IMAGE-BASED RENDERING AND ANIMATION

Animation. Animation

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

CS184: Using Quaternions to Represent Rotation

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

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

Character animation Christian Miller CS Fall 2011

Auslan Jam: A Graphical Sign Language Display System

Translation. 3D Transformations. Rotation about z axis. Scaling. CS 4620 Lecture 8. 3 Cornell CS4620 Fall 2009!Lecture 8

CMSC 425: Lecture 10 Skeletal Animation and Skinning

Chapter 3 : Computer Animation

Game Programming. Bing-Yu Chen National Taiwan University

Rotation parameters for model building and stable parameter inversion in orthorhombic media Cintia Lapilli* and Paul J. Fowler, WesternGeco.

SM2231 :: 3D Animation I :: Basic. Rigging

Visualizing Quaternions

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

Chapter 5.2 Character Animation

Kinematical Animation.

Transforms. COMP 575/770 Spring 2013

Aalto CS-C3100 Computer Graphics, Fall 2016

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

Blending & State Machines. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017

CS354 Computer Graphics Character Animation and Skinning

3.3 Interpolation of rotations represented by quaternions

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:

CS612 - Algorithms in Bioinformatics

Advanced Graphics and Animation

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101

3D Rotations and Complex Representations. Computer Graphics CMU /15-662, Fall 2017

Modify Group. Joint Move. (default keyboard shortcut Ctrl J)

Reading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex

Fundamentals of Computer Animation

First of all, we need to know what it means for a parameterize curve to be differentiable. FACT:

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Advanced Computer Graphics Transformations. Matthias Teschner

Jorg s Graphics Lecture Notes Coordinate Spaces 1

CMSC 425: Lecture 6 Affine Transformations and Rotations

2D Object Definition (1/3)

Quaternions & Rotation in 3D Space

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b

Transformation Hierarchies. CS 4620 Lecture 5

2D Transformations Introduction to Computer Graphics Arizona State University

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Quaternions and Exponentials

3D Kinematics. Consists of two parts

Rotational Joint Limits in Quaternion Space. Gino van den Bergen Dtecta

Motion Control (wheeled robots)

Computer Vision cmput 428/615

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

Transcription:

Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1

What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape as a function of time just modeling done once per frame? yes, but need smooth, concerted movement w/ prior instructor Steve Marschner 2

Keyframes in hand-drawn animation End goal: a drawing per frame, with nice smooth motion Straight ahead is drawing frames in order But it is hard to get a character to land at a particular pose at a particular time Instead use key frames to plan out the action draw important poses first, then fill in the in-betweens animation by Ollie Johnston, Disney w/ prior instructor Steve Marschner 3

Keyframes in computer animation Just as with hand-drawn animation, adjusting the model from scratch for every frame would be tedious and difficult Same solution: animator establishes the keyframes, software fills in the in-betweens Two key ideas of computer animation: create high-level controls for adjusting geometry interpolate these controls over time between keyframes w/ prior instructor Steve Marschner 4

The most basic animation control Affine transformations position things in modeling Time-varying affine transformations move things around in animation A hierarchy of time-varying transformations is the main workhorse of animation and the basic framework within which all the more sophisticated techniques are built w/ prior instructor Steve Marschner 5

Keyframe animation [Bryce Tutorial http://www.cadtutor.net/dd/bryce/anim/anim.html] w/ prior instructor Steve Marschner 6

Interpolating transformations Move a set of points by applying an affine transformation How to animate the transformation over time? - Interpolate the matrix entries from keyframe to keyframe? This is fine for translations but bad for rotations w/ prior instructor Steve Marschner 7

Animation Industry production process leading up to animation What animation is How animation works (very generally) Artistic process of animation Further topics in how it works w/ prior instructor Steve Marschner 8

Approaches to animation Straight ahead Draw/animate one frame at a time Can lead to spontaneity, but is hard to get exactly what you want Pose-to-pose Top-down process: Plan shots using storyboards Plan key poses first Finally fill in the in-between frames w/ prior instructor Steve Marschner 9

Pose-to-pose animation planning First work out poses that are key to the story Next fill in animation in between w/ prior instructor Steve Marschner 10

Keyframe animation Keyframing is the technique used for pose-to-pose animation Head animator draws key poses just enough to indicate what the motion is supposed to be Assistants do in-betweening and draws the rest of the frames In computer animation substitute user and animation software Interpolation is the main operation w/ prior instructor Steve Marschner 11

Walk cycle [Christopher Lutz http://www.animationsnippets.com] w/ prior instructor Steve Marschner 12

Controlling geometry conveniently Could animate by moving every control point at every keyframe This would be labor intensive It would also be hard to get smooth, consistent motion Better way: animate using smaller set of meaningful degrees of freedom (DOFs) Modeling DOFs are inappropriate for animation E.g. move one square inch of left forearm Animation DOFs need to be higher level E.g. bend the elbow w/ prior instructor Steve Marschner 13

Character with DOFs [Greenberg/Pellacini CIS 565] w/ prior instructor Steve Marschner 14

Rigged character Surface is deformed by a set of bones Bones are in turn controlled by a smaller set of controls The controls are useful, intuitive DOFs for an animator to use [CIS 565 staff] w/ prior instructor Steve Marschner 15

Keyframe animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate between the poses w/ prior instructor Steve Marschner 16

Rigid motion: the simplest deformation Move a set of points by applying an affine transformation How to animate the transformation over time? Interpolate the matrix entries from keyframe to keyframe? Translation: ok start location, end location, interpolate Rotation: not so good w/ prior instructor Steve Marschner 17

Rigid motion: the simplest deformation start end w/ prior instructor Steve Marschner 18

Parameterizing rotations Euler angles Rotate around x, then y, then z Problem: gimbal lock If two axes coincide, you lose one DOF Unit quaternions A 4D representation Good choice for interpolating rotations w/ prior instructor Steve Marschner 19

Quaternions Remember that Orientations can be expressed as rotation Why? Start in a default position (say aligned with z axis) New orientation is rotation from default position Rotations can be expressed as (axis, angle) Quaternions let you express (axis, angle) w/ prior instructor Steve Marschner 20

Quaternions for Rotation A quaternion is an extension of complex numbers Review of complex numbers w/ prior instructor Steve Marschner 21

Quaternion for Rotation Rotate about axis a by angle θ w/ prior instructor Steve Marschner 22

Quaternion Properties Linear combination of 1, i, j, k Each of i, j and k are three square roots of 1 w/ prior instructor Steve Marschner 23

Review complex numbers Cross-multiplication is like cross product w/ prior instructor Steve Marschner 24

w/ prior instructor Steve Marschner 25

ONB in quaternions Quaternion is extension of complex number in 4D space Multiplication w/ prior instructor Steve Marschner 26

Quaternion Properties Associative Not commutative Unit quaternion w/ prior instructor Steve Marschner 27

Quaternion for Rotation Rotate about axis a by angle θ Note: unit quaternion w/ prior instructor Steve Marschner 28

Rotation Using Quaternion A point in space is a quaternion with 0 scalar w/ prior instructor Steve Marschner 29

Rotation Using Quaternion A point in space is a quaternion with 0 scalar Rotation is computed as follows See Buss 3D CG: A mathematical introduction with OpenGL, Chapter 7 w/ prior instructor Steve Marschner 30

Matrix for quaternion w/ prior instructor Steve Marschner 31

Rotation Using Quaternion Composing rotations q1 and q2 are two rotations First, q1 then q2 w/ prior instructor Steve Marschner 32

Why Quaternions? Fast, few operations, not redundant Numerically stable for incremental changes Composes rotations nicely Convert to matrices at the end Biggest reason: spherical interpolation w/ prior instructor Steve Marschner 33

Interpolating between quaternions Why not linear interpolation? Need to be normalized Does not have a constant rate of rotation w/ prior instructor Steve Marschner 34

Spherical Linear Interpolation Intuitive interpolation between different orientations Nicely represented through quaternions Useful for animation Given two quaternions, interpolate between them Shortest path between two points on sphere Geodesic, on Great Circle w/ prior instructor Steve Marschner 35

Spherical linear interpolation ( slerp ) v 1 α β v(t) + = v(t) =w 0 v 0 + w 1 v 1 sin = sin = sin( ) w 1 w 0 1 w 0 =sin / sin w 1 =sin / sin = cos 1 (v 0 v 1 ) =sin π ψ π ψ v 0 w 1 β α w 0 w/ prior instructor Steve Marschner 36

Quaternion Interpolation Spherical linear interpolation naturally works in any dimension Traverses a great arc on the sphere of unit quaternions Uniform angular rotation velocity about a fixed axis = cos 1 (q 0 q 1 ) q(t) = q 0 sin(1 t) + q 1 sin t sin w/ prior instructor Steve Marschner 37

Practical issues When angle gets close to zero, use small angle approximation degenerate to linear interpolation When angle close to 180, there is no shortest geodesic, but can pick one q is same rotation as -q if q1 and q2 angle < 90, slerp between them else, slerp between q1 and -q2 w/ prior instructor Steve Marschner 38