Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau



Similar documents
animation animation shape specification as a function of time

Computer Animation. Lecture 2. Basics of Character Animation

animation shape specification as a function of time

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Kinematical Animation

Essential Mathematics for Computer Graphics fast

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Interactive Computer Graphics

Metrics on SO(3) and Inverse Kinematics

Kinematics & Dynamics

B4 Computational Geometry

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

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

Introduction to Computer Graphics

Today. Keyframing. Procedural Animation. Physically-Based Animation. Articulated Models. Computer Animation & Particle Systems

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

Animation. Persistence of vision: Visual closure:

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

How To Draw A 3D Virtual World In 3D Space (Computer Graphics)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

GAME ENGINE DESIGN. A Practical Approach to Real-Time Computer Graphics. ahhb. DAVID H. EBERLY Geometrie Tools, Inc.

CS 4204 Computer Graphics

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

2.5 Physically-based Animation

Fundamentals of Computer Animation

Geometric Modelling & Curves

Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).

A Short Introduction to Computer Graphics

Simulation of Trajectories and Comparison of Joint Variables for Robotic Manipulator Using Multibody Dynamics (MBD)

Finite Element Formulation for Plates - Handout 3 -

Dhiren Bhatia Carnegie Mellon University

Behavioral Animation Simulation of Flocking Birds

Motion Capture Technologies. Jessica Hodgins

ME 115(b): Solution to Homework #1

Computers in Film Making

521493S Computer Graphics. Exercise 2 & course schedule change

The 3D rendering pipeline (our version for this class)

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Graphics. Computer Animation 고려대학교 컴퓨터 그래픽스 연구실. kucg.korea.ac.kr 1

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Fundamentals of Computer Animation

(Refer Slide Time: 1:42)

CS 4620 Practicum Programming Assignment 6 Animation

Scooter, 3 wheeled cobot North Western University. PERCRO Exoskeleton

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Constraint satisfaction and global optimization in robotics

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Flocking and Steering Behaviors : Computer Graphics April 08, 2010

Computer Animation. Computer Animation. Principles of Traditional Animation. Outline. Principles of Traditional Animation

A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS

Force/position control of a robotic system for transcranial magnetic stimulation

CMA ROBOTICS ROBOT PROGRAMMING SYSTEMS COMPARISON

w = COI EYE view direction vector u = w ( 010,, ) cross product with y-axis v = w u up vector

CALIBRATION OF A ROBUST 2 DOF PATH MONITORING TOOL FOR INDUSTRIAL ROBOTS AND MACHINE TOOLS BASED ON PARALLEL KINEMATICS

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

Human-like Arm Motion Generation for Humanoid Robots Using Motion Capture Database

Advanced Computer Graphics (2IV40) ~ 3D Transformations. Types (geometric) Types (algebraic) 3D Transformations. y + c 1. x = a 1.

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

Module 8 Lesson 4: Applications of Vectors

the points are called control points approximating curve

Origins of the Unusual Space Shuttle Quaternion Definition

INTRODUCTION TO RENDERING TECHNIQUES

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

Understanding Rotations

Practical Work DELMIA V5 R20 Lecture 1. D. Chablat / S. Caro Damien.Chablat@irccyn.ec-nantes.fr Stephane.Caro@irccyn.ec-nantes.fr

CS408 Animation Software Design Sample Exam Questions (Second Half)

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

Computer Aided Systems

Computer Animation in Future Technologies

DESIGN, IMPLEMENTATION, AND COOPERATIVE COEVOLUTION OF AN AUTONOMOUS/TELEOPERATED CONTROL SYSTEM FOR A SERPENTINE ROBOTIC MANIPULATOR

An inertial haptic interface for robotic applications

Kinematics of Robots. Alba Perez Gracia

ACTUATOR DESIGN FOR ARC WELDING ROBOT

Computer Games. CSCI-GA Spring Hubertus Franke. ( frankeh@cims.nyu.edu )

Computer Animation and Visualisation. Lecture 1. Introduction

Interactive Computer Graphics

How To Learn To Program In Csc 406 Computer Graphics

Numerical Analysis An Introduction

Robot Task-Level Programming Language and Simulation

Lecture L6 - Intrinsic Coordinates

CG T17 Animation L:CC, MI:ERSI. Miguel Tavares Coimbra (course designed by Verónica Orvalho, slides adapted from Steve Marschner)

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

Lecture 8 : Dynamic Stability

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., July Derive 5: The Easiest... Just Got Better!

Mathematical Modeling and Engineering Problem Solving

Pre-Algebra Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Computing Euler angles from a rotation matrix

Transcription:

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction to OpenGL + lab: first steps & modeling 04/03 Implicit surfaces 1 + lecture/lab: transformations & hierarchies 11/03 Implicit surfaces 2 + Lights & materials in OpenGL 18/03 Textures, aliasing + Lab: Lights & materials in OpenGL 25/03 Textures in OpenGL: lecture + lab 01/04 Procedural & kinematic animation + lab: procedural anim 08/04 Physics: particle systems + lab: physics 1 22/04 Physics: collisions, control + lab: physics 2 29/04 Animating complex objects + Realistic rendering 06/05 Talks: results of cases studies 1

Computer Animation First animation films (Disney) 30 drawings / second animator in chief : key drawings others : secondary drawings Use the computer to interpolate? positions orientations shapes «Descriptive animation» The animator fully controls the motion 2

Towards methods that generate motion? The user defines the laws of motion Examples : A procedure to compute it (equation of the trajectory) Physical laws (gravity, collisions ) Behavioral laws (artificial intelligence) The system generates motion from The procedure The initial conditions Some interactive control «Procedural animation» Describes a familly of motion Indirect control 3

Procedural animation : Examples Procedural virtual ocean Particle systems (fire, smoke, rain, bees, fishes ) Points : X (x,y,z), V (v x, v y, v z ) V given by a law Birth and death of particles Physically-based models later in this course 4

1. Descriptive models Based on interpolation methods! To interpolate positions: interpolation splines Hermite curves or Cardinal splines Local control Made of polynomial curve segments degree 3, class C 1 Control point Spline curve 5

Descriptive models Direct kinematics Interpolating key positions Interpolation curves Enable inflection points! (where C 0 only) Control of the speed «velocity curve» dist time 6

Descriptive models Direct kinematics Interpolation of orientations Choose the right representation! Rotation matrix? Euler angle? Quaternion? 7

Rotation matrix Representation : orthogonal matrix each orientation = 9 coefficients Interpolation : Interpolate coefficients one by one Re-orthogonalize and normalize Costly and badly adapted : M = k M 1 + (1-k) M 2 can be degenerated Impossible to approximate it by an othogonal matrix in this case Exemple: Axe x, angle α 1 0 0 cos sin 0 0 ( α) sin( α) ( α) cos( α) Exemple: M 1 = Id M 2 : axe x, α = π 8

Euler Angles ψ z y θ z y ϕ z y z y x x x x Representation : Three angles (ψ, θ, ϕ) Intuitive : R(V) = R z,ϕ (R x,θ (R z,ψ (V))) «Roll, pitch, yaw» in flight simulators 9

Interpolating Euler Angles + less costly : 3 values for 3 degrees of Freedom (DoF) non-invariant by rotation, and un-natural result 10

Problem with Euler Angles: gimbal lock Two or more axes aligned = loss of rotation DOF 11

Quaternions Representation : q = (cos(α/2), sin(α/2)n) S 4 N α By analogy: 1, 2, 3-DoF rotations as points on 2D, 3D, 4D spheres 12

Quaternions Representation : q = (cos(α/2), sin(α/2)n) S 4 Algebra of quaternions p. q = (p r q r p p q p, p r q p + q r p p + p p q p ) q -1 = (q r, -q p ) / q r2 + q p q p I = (1,0,0,0) Apply a rotation R(V) = (0,V) q -1 Compose two rotations : p.q q 5 q 3 q 4 q 2 α q 1 S 4 N 13

Quaternions Interpolate quaternions? : splines on S 4 Interpolation method? q 5 q 3 q 2 S 4 ω q 4 q 1 Linear non-uniform speed! Use spherical! 14

Descriptive models Hierarchical strucutres They are essential for animation! Eyes move with head Hands move with arms Feet move wirth legs θ 1 V 1 Frame hierarchy x Generalized coordinates: Dof at each joint Root expressed in the world frame 15

Descriptive models Hierarchical strucutres Example Frame hierarchy Generalized coordinates: Dof at each joint Root expressed in the world frame 16

Descriptive models Forward kinematics Interpolate key orientations Difficult to control extremities! (example : horizontal foot while cycling) Top-down set-up method Try to compensate un-desired motion! 17

Descriptive models Inverse kinematics Control of the end of a chain Automatically compute the other orientations? x 1 = f(q) x 2 = f(????) Method from robotics inversion of a non-linear system xi x = J q, avec Jij =, Jacobian matrix q j Underconstrained system, pseudo-inverse : J + = J t (J J t ) -1 q = J + x (secondary task: q = J + x + (I-J + J) z) J q coordonnées généralisées x 2 x x 1 18

Descriptive Models Animate Deformations Interpolate «key shapes» Example : «Disney effects» Change scaling, color [Lasseter 1987] k (u) = (u 3 u 2 u 1) M spline [k i-1 k i k i+1 k i+2 ] t 19

Descriptive Models Animate Deformations Animate a geometric model = animate its parameters Example: spline of subdivision surfaces Intermediate shapes Generated by trajectories of control points Adapted to structured object (constant topology) Bounding volumes (collisions ) Bspline: shape in the convex envelope of the control points 20

Temporal vs multi-target interpolation Example of an animated face Temporal interpolation Model and store all successive key- faces Multi-target interpolation Model a few «extreme faces» from a «neutral face» Animate a trajectory in this space (barycenters) 21