Interactive Computer Graphics

Similar documents
Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Animation Lecture 10 Slide Fall 2003

animation projects in digital art animation 2009 fabio pellacini 1

COMP371 COMPUTER GRAPHICS

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

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics

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

Articulated Characters

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

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

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

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

Kinematics and Orientations

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

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

animation computer graphics animation 2009 fabio pellacini 1

Data-driven Approaches to Simulation (Motion Capture)

CMSC 425: Lecture 10 Skeletal Animation and Skinning

Character Animation COS 426

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

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

A 12-DOF Analytic Inverse Kinematics Solver for Human Motion Control

Computer Animation II

Keyframe Animation. Computer Animation. Outline. Computer Animation. Keyframe Animation. Keyframe Animation

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

History. Early viewers

Inverse Kinematics Programming Assignment

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

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

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

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

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

Kinematics & Motion Capture

Kinematical Animation.

Computer Animation. Michael Kazhdan ( /657) HB 16.5, 16.6 FvDFH 21.1, 21.3, 21.4

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

Game Programming. Bing-Yu Chen National Taiwan University

Animation. CS 465 Lecture 22

C O M P U T E R G R A P H I C S. Computer Animation. Guoying Zhao 1 / 66

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Animation, Motion Capture, & Inverse Kinematics

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

Learning Autodesk Maya The Modeling & Animation Handbook. Free Models From Turbo Squid Value US $ Official Autodesk Training Guide

MTRX4700 Experimental Robotics

Animation II: Soft Object Animation. Watt and Watt Ch.17

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

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

Chapter 3 : Computer Animation

TIEA311 Tietokonegrafiikan perusteet kevät 2018

Planning in Mobile Robotics

Chapter 5. Creating Special Effects Delmar, Cengage Learning

Beginners Guide Maya. To be used next to Learning Maya 5 Foundation. 15 juni 2005 Clara Coepijn Raoul Franker

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

Quaternions and Rotations

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

Geometric Transformations

Motion Capture & Simulation

Quaternions and Rotations

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

7 Modelling and Animating Human Figures. Chapter 7. Modelling and Animating Human Figures. Department of Computer Science and Engineering 7-1

Animation by Adaptation Tutorial 1: Animation Basics

Character Animation 1

Vehicle Project. Ethan Steele CGD

Motion Capture. Motion Capture in Movies. Motion Capture in Games

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

METR 4202: Advanced Control & Robotics

CONTROL ALGORITHM OP THE WALKER CLIMBING OVER OBSTACLES. D.E. Okhotsimski, A.K, Platonov U S S R

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

12.1 Quaternions and Rotations

Character Animation. Presented by: Pam Chow

CS 231. Basics of Computer Animation

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

Kinematics: Intro. Kinematics is study of motion

Motion Editing with Data Glove

Motion for Computer Animation. Michael Gleicher Department of Computer Sciences University of Wisconsin, Madison

Open Access The Kinematics Analysis and Configuration Optimize of Quadruped Robot. Jinrong Zhang *, Chenxi Wang and Jianhua Zhang

Animating Non-Human Characters using Human Motion Capture Data

The Line of Action: an Intuitive Interface for Expressive Character Posing. Martin Guay, Marie-Paule Cani, Rémi Ronfard

Keyframing an IK Skeleton Maya 2012

MODELING AND HIERARCHY

Maya Lesson 8 Notes - Animated Adjustable Desk Lamp

CS184: Using Quaternions to Represent Rotation

An Introduction to animation and motion blending

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

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Computer Animation. Courtesy of Adam Finkelstein

CS 231. Inverse Kinematics Intro to Motion Capture. 3D characters. Representation. 1) Skeleton Origin (root) Joint centers/ bones lengths

Maths at the Movies. Chris Budd

Multimedia Technology CHAPTER 4. Video and Animation

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

3D Production Pipeline

Introduction to Robotics

Computer Graphics. Spring Feb Ghada Ahmed, PhD Dept. of Computer Science Helwan University

Week 5: Assignment: Animation

Forward kinematics and Denavit Hartenburg convention

CNM 190 Advanced Digital Animation Lec 10 : Inverse Kinematics & Automating Animation

IMAGE-BASED RENDERING AND ANIMATION

Transcription:

Interactive Computer Graphics Lecture 18 Kinematics and Animation Interactive Graphics Lecture 18: Slide 1

Animation of 3D models In the early days physical models were altered frame by frame to create animation - eg King Kong 1933. Computer support systems for animation began to appear in the late 1970, and the first computer generated 3D animated full length film was Toy Story (1995). Interactive Graphics Lecture 18: Slide 2

Computer Aids to Animation Fully automatic animation has not proved successful. However computer tools to support animation have developed rapidly. These remove much of the tedious work of the animator, and allow the creation of spectacular special effects. Basic Approaches are: Physical Models Procedural Methods Keyframing Interactive Graphics Lecture 18: Slide 3

Physical Modelling This approach is suitable for inanimate objects or effects where there is a simple physical model: Bouncing balls Cars on rough roads Effects can be created by Newtonian mechanics In some cases composite models can be applied Spring mass damper arrays for fluttering flags Particle systems for fire smoke etc. Interactive Graphics Lecture 18: Slide 4

Procedural Approach The behaviour of an object is described by a procedure, sometimes specified by a script. This kind of approach is appropriate for well known behaviours in inanimate objects: eg crack propagation in glass or concrete which is difficult to model physically but easy to describe procedurally. Interactive Graphics Lecture 18: Slide 5

Keyframe Approach Animators specify two positions of the skeleton (keyframes) a short time apart. The computer then calculates a number of in between positions to effect a smooth movement between the two keyframes. This was a traditional method in hand drawn animation where the senior animator drew the key frames and some stooge would then laboriously draw all the in betweens. Interactive Graphics Lecture 18: Slide 6

Creating In-betweens The in-betweens are created by interpolation. For certain objects they can be created by using paths of motion defined by, for example, spline curves. However there are difficulties: Observing the laws of physics Making plausible movements Interactive Graphics Lecture 18: Slide 7

Movement Control When animating vital characters any model animation must be kept plausible. Hence computer systems are often based on jointed skeletons. Each link in the articulated chain is rigid. The movement is constrained by the degree of freedom at each joint. The skeleton can be fleshed out in any way. Interactive Graphics Lecture 18: Slide 8

Luxo Jr. (1987) This award winning short film was the hailed as the first example of computer generated 3D animation that was as natural as hand crafted animation. It was based on the use of an articulated skeleton. http://www.pixar.com/shorts/ljr/theater/short_320.html Interactive Graphics Lecture 18: Slide 9

Complexities of Natural Motion Natural motions are complex, as shown by Eadweard Muybridge's horse photographs (1878). Some systematic approach is needed for scripting the motion of the skeleton. Interactive Graphics Lecture 18: Slide 10

Motion Capture One approach to defining the movement is to use motion capture - for example Gollum in the Lord of the Rings films. These methods require laborious data capture and are surprisingly hard to automate. Interactive Graphics Lecture 18: Slide 11

Motion Capture King Kong (2005) also used motion capture. The actor wore a blue suit and was marked with around 80 identifiable spots that could be tracked by cameras. The spots were mapped (not linearly) to corresponding points on the computer Kong model. The actor had to study gorillas and then imitate their movements. Interactive Graphics Lecture 18: Slide 12

Kinematics Hip Ankle Thigh Knee Shin Foot Although natural skeletons are not strictly rigid, it is a good approximation to treat them as such and thus constrain the movement. The study of the movement of articulated chains began in mechanical engineering of robots and is called kinematics. Interactive Graphics Lecture 18: Slide 13

Degrees of freedom Hinge Joint - One degree of freedom Knee or elbow joint Saddle - Two degrees of freedom Wrist/Hand joints Socket Joint - Three degrees of freedom Hip, shoulder neck Interactive Graphics Lecture 18: Slide 14 Images from www.shockfamily.net

Euler Angles At any joint we can specify the orientation of one link relative to the other by the Euler angles. These encode pitch, roll and yaw. The links are fixed in length (rigid), so the position of end of the chain is completely defined by a set of Euler angles. For the leg we have 3(hip) + 1(knee) + 1 (ankle) = 5 variables (Euler Angles) to determine the end point. Interactive Graphics Lecture 18: Slide 15

Euler Angles Euler was the first mathematician to prove that any rotation of 3D space could be achieved by three independent rotations. There is no standard way of achieving this, but the usual convention is to: 1. Rotate about Z 2. Rotate about X 3. Rotate about Z The complete Euler rotation matrix R E is therefore: Interactive Graphics Lecture 18: Slide 16

Euler Angles This formulation is not very intuitive, so to see what is happening consider transforming a vector w lying along the z axis. The first rotation will not change w but turns the u and v directions about the w. The second matrix can rotate w to point to any position in the y-z plane. Y Y w Interactive Graphics Lecture 18: Slide 17 Z Z w

Euler Angles The last rotation about the z axis can make the projection of w point in any direction in the x-y plane. Looking from the positive z axis we have: Y Y X w X w So the last two rotations can orient w in any direction in the 3D space. Interactive Graphics Lecture 18: Slide 18

Euler Angles The first rotation turns the u and v directions about the w. This would be equivalent to a roll, or the rotation of an image about its centre if w were the viewing direction. Thus the specifying the three Euler angles allows us to rotate a (u,v,w) axis system to any orientation we require, while preserving its orthogonality. Interactive Graphics Lecture 18: Slide 19

Forward Kinematics Forward kinematics is used in robot control. Given a specification of the Euler angles of each joint or an articulated robot arm we calculate the position and orientation of its end point. This is a well posed problem and can be solved by matrix transformations of space similar to the ones that we have already seen in use - for example in first person shoot 'em ups. Interactive Graphics Lecture 18: Slide 20

Forward Kinematics Computation We define a coordinate system at the start of a chain and at each joint. Each new coordinate system is defined in the co-ordinate system of the previous joint. Thus the position C i and the direction vectors {u i, v i, w i } of frame i are defined using the frame i-1 coordinate system. Frame i u i v i w i Link i-1 Frame i-1 Link i Interactive Graphics Lecture 18: Slide 21

Forward Kinematics Computation The position C i and the direction vectors {u i, v i, w i } of each frame can be calculated simply using the Euler rotation matrix R E : u i = [1,0,0]R E, v i = [0,1,0]R E, w i = [0,0,1]R E and C i = [0,0,L i-1 ]R E where L i-1 is the length of link (i-1). We can express positions and directions in frame i in the coordinate system of frame i-1 by a matrix transformation, which is the inverse of the viewing transformation discussed earlier in the course. Frame i u i v i w i Link i-1 Frame i-1 Link i Interactive Graphics Lecture 18: Slide 22

Revision - the viewing transformation To transform the scene coordinates to the axis system {u,v,w} system (using pre-multiplication) we used: Y u w v X Z Y Z C X Interactive Graphics Lecture 18: Slide 23

Revision - Viewing transformation The inverse of the viewing transformation (which we need for forward kinematics) can be written as: which can be verified by multiplying out: Interactive Graphics Lecture 18: Slide 24

Forward Kinematics Computation If we denote the transformation from the i th to the i-1 th frame as: Then the complete forward transformation (using premultiplication) can be seen to be: Interactive Graphics Lecture 18: Slide 25

Inverse Kinematics For graphics applications we want the opposite process. We wish to specify some path for the end point of the chain, and calculate the relative positions of all the other links. This is an ill posed problem (there are infinitely many solutions for some chains). Hence we need to find a constrained solution minimising for example, the joint movements. Interactive Graphics Lecture 18: Slide 26

Inverse Kinematics In practice, inverse kinematics can be used to calculate in-between frames. For example, to generate ten frames of a leg movement, we define the ten steps that make up the foot movement, and estimate the changes in the Euler angles of the rest of chain that implement those changes. In the simple articulated leg chain there are five Euler angles. The constrained angles are initialised to zero. Interactive Graphics Lecture 18: Slide 27

Inverse Kinematics by Gradient Descent One way to solve the problem is to use gradient descent. Let E be the distance between the end point and its target. For each Euler angle we find de/d using forward kinematics, replacing with and calculating E. We then update the angles using: t = t-1 - de/d Interactive Graphics Lecture 18: Slide 28

Further Constraints Applying gradient descent with small steps should find a solution that involves only small joint movements. However, over time it is possible that a skeleton will reach an implausible pose. One solution is to constrain the optimisation to avoid poor poses. Poor pose is difficult to define, and needs analysis of videos of actual motion. Interactive Graphics Lecture 18: Slide 29

In Summary Currently human intervention is a necessary part of creating realistic living model animation. Either motion capture or expert animator input. Physical modelling and procedural methods are successful in creating movements in inanimate objects. Inverse kinematics can take some of the burden out of living model animation, but is limited and is an interesting current research area. Interactive Graphics Lecture 18: Slide 30

Revision Sessions MEng 3 Students Wednesday 24 th March 2010 at 10.30 All other students: In the week beginning 3 rd may See the web page for details nearer the time. Interactive Graphics Lecture 18: Slide 31