Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Computer Graphics Lecture 4 Geometry & Transformations.
Arbitrary Rotations in 3D Lecture 18 Wed, Oct 8, 2003.
Three Dimensional Modeling Transformations
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
1 Geometrical Transformation 2 Outline General Transform 3D Objects Quaternion & 3D Track Ball.
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
Ch. 2: Rigid Body Motions and Homogeneous Transforms
3D Coordinate Systems and Transformations Revision 1
3-D Geometry.
3D orientation.
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Rotation representation and Interpolation
Orientations Goal: –Convenient representation of orientation of objects & characters in a scene Applications to: – inverse kinematics –rigid body simulation.
Linear Algebra Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Computer Graphics 3D Transformations. 3D Translation Remembering 2D transformations -> 3x3 matrices, take a wild guess what happens to 3D transformations.
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.
Rotations and Translations
COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.
Transformations Aaron Bloomfield CS 445: Introduction to Graphics
3D Kinematics Consists of two parts 3D rotation 3D translation  The same as 2D 3D rotation is more complicated than 2D rotation (restricted to z- axis)
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 22 of 41 William H. Hsu Department of Computing.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Transformations Dr. Amy Zhang.
Geometric Transformations Jehee Lee Seoul National University.
Rotations and Translations
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
Transformations Jehee Lee Seoul National University.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Rick Parent - CIS681 ORIENTATION Use Quaternions Interpolating rotations is difficult.
Advanced Computer Graphics Spring 2014
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Jinxiang Chai Composite Transformations and Forward Kinematics 0.
1 Computer Graphics Week9 -3D Geometric Transformation.
Animating Rotations and Using Quaternions. What We’ll Talk About Animating Translation Animating 2D Rotation Euler Angle representation 3D Angle problems.
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
Matthew Christian. About Me Introduction to Linear Algebra Vectors Matrices Quaternions Links.
Viewing CS418 Computer Graphics John C. Hart. Graphics Pipeline Homogeneous Divide Model Coords Model Xform World Coords Viewing Xform Still Clip Coords.
Geometric Transformations Hearn & Baker Chapter 5 Some slides are taken from Robert Thomsons notes.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CS 551/651 Advanced Graphics Technical Background.
Geometric Transformations Sang Il Park Sejong University Many slides come from Jehee Lee’s.
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
3-D Geometric Transformations
3D Geometric Transformation
3D Geometric Transformation
3-D Transformational Geometry CS418 Computer Graphics John C. Hart.
Affine Geometry.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 3: Transformations 1
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Computer Graphics I, Fall 2010 Transformations.
2D Transformation Homogenous Coordinates Scale/Rotate/Reflect/Shear: X’ = XT Translate: X’ = X + T Multiple values for the same point e.g., (2, 3, 6)
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
Fundamentals of Computer Animation Orientation and Rotation.
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Rotation representation and Interpolation
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
(c) University of Wisconsin, CS559
UMBC Graphics for Games
Geometric Objects and Transformations (II)
CSCE441: Computer Graphics 2D/3D Transformations
Presentation transcript:

Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background

Computer Animation Rick Parent Spaces and Transformations Left-handed v. right handed Homogeneous coordinates: 4x4 transformation matrix (TM) Concatenating TMs Basic transformations (TMs) Display pipeline

Computer Animation Rick Parent Display Pipeline Object Space Data World Space Data Eye Space Data Image Space Data Display Space Data Object space to world space (TM) World space to eye space (TM) Perspective (TM) Clipping Perspective Divide Image space to display space (TM)

Computer Animation Rick Parent Representing an orientation Example: fixed angles - rotate around global axes X Y Z Orientation:

Computer Animation Rick Parent Working with fixed angles and Rotation Matrices (RMs) Extracing fixed angles from an orientation Extracing fixed angles from a RM Making a RM from fixed angles Orthonormalizing a RM Making a RM from transformed unit coordinate system (TUCS) X Y Z X Y Z

Computer Animation Rick Parent Transformations in pipeline object -> world: often rigid transforms world -> eye: rigid transforms perspective matrix: uses 4 th component of homo. coords perspective divide image -> screen: 2D map to screen coordinates Clipping: procedure that considers view frustum

Computer Animation Rick Parent Error considerations Accumulated round-off error - transform data: transform world data by delta RM update RM by delta RM; apply to object data update angle; form RM; apply to object data orthonormalization rotation matrix: orthogonal, unit-length columns iterate update by taking cross product of 2 vectors scale to unit length considerations of scale miles-to-inches can exeed single precision arithmetic

Computer Animation Rick Parent Orientation Representation Rotation matrix Fixed angles: rotate about global coordinate system Euler angles: rotate about local coordinate system Axis-angle: arbitrary axis and angle Quaternions: mathematically handy axis-angle 4-tuple Exponential map: 3-tuple version of quaternions

Computer Animation Rick Parent Transformation Matrix

Computer Animation Rick Parent Transformation Matrix

Computer Animation Rick Parent Rotation Matrices

Computer Animation Rick Parent Fixed Angles Fixed order: e.g., x, y, z; also could be x, y, x Global axes X Y Z

Computer Animation Rick Parent Gimbal Lock X Y Z Fixed angle: e.g., x, y, z X Y Z

Computer Animation Rick Parent Gimbal Lock Fixed order of rotations: x, y, z X Y Z What do these epsilon rotations do?

Computer Animation Rick Parent Gimbal Lock X Y Z X Y Z Interpolating FA representations does not produce intuitive rotation because of gimbal lock

Computer Animation Rick Parent Euler Angles Prescribed order: e.g., x, y, z or x, y, x Rotate around (rotated) local axes X Y Z Note: fixed angles are same as Euler angles in reverse order and vice versa

Computer Animation Rick Parent Axis-Angle Rotate about given axis Euler’s Rotation Theorem OpenGL Fairly easy to interpolate between orientations Difficult to concatenate rotations X Y Z A Q

Computer Animation Rick Parent Axis-angle to rotation matrix X Y Z A Q Concantenate the following: Rotate A around z to x-z plane Rotate A’ around y to x-axis Rotate theta around x Undo rotation around y-axis Undo rotation around z-axis

Computer Animation Rick Parent Axis-angle to rotation matrix X Y Z A Q P P’

Computer Animation Rick Parent Quaternion Same as axis-angle, but different form Still rotate about given axis Mathematically convenient form X Y Z Note: in this form v is a scaled version of the given axis of rotation, A A Q

Computer Animation Rick Parent Quaternion Arithmetic Addition Multiplication Length Inner Product

Computer Animation Rick Parent Quaternion Arithmetic Inverse Unit quaternion

Computer Animation Rick Parent Quaternion Represention Vector Transform

Computer Animation Rick Parent Quaternion Geometric Operations

Computer Animation Rick Parent Unit Quaternion Conversions Axis-Angle

Computer Animation Rick Parent Quaternions Avoid gimbal lock Easy to rotate a point Easy to convert to a rotation matrix Easy to concatenate – quaternion multiply Easy to interpolate – interpolate 4-tuples How about smoothly (in both space and time) interpolate?