1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 13, 2002 Day 16.

Slides:



Advertisements
Similar presentations
Complex Representation of Harmonic Oscillations. The imaginary number i is defined by i 2 = -1. Any complex number can be written as z = x + i y where.
Advertisements

Prepared by Dr. Taha MAhdy
John C. Hart CS 318 Interactive Computer Graphics
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
HCI 530 : Seminar (HCI) Damian Schofield. HCI 530: Seminar (HCI) Transforms –Two Dimensional –Three Dimensional The Graphics Pipeline.
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.
Computer Graphics (Fall 2008) COMS 4160, Lecture 3: Transformations 1
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Math for CSTutorial 11 Matrix Multiplication Rule Matrices make linear transformations of vectors.
Rotation representation and Interpolation
Computer Graphics (Fall 2004) COMS 4160, Lecture 3: Transformations 1
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 Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
CS I400/B659: Intelligent Robotics Rigid Transformations.
Orthogonal Matrices and Spectral Representation In Section 4.3 we saw that n  n matrix A was similar to a diagonal matrix if and only if it had n linearly.
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 3: Transformations 1
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University.
1 Kinematics ( 運動學 ) Primer Jyun-Ming Chen Fall 2009.
Rotations and Translations
Graphics CSE 581 – Interactive Computer Graphics Mathematics for Computer Graphics CSE 581 – Roger Crawfis (slides developed from Korea University slides)
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
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)
Mathematical Topics Review of some concepts:  trigonometry  aliasing  coordinate systems  homogeneous coordinates  matrices, quaternions.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Graphics Bing-Yu Chen National Taiwan University.
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
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.
Maths and Technologies for Games Quaternions CO3303 Week 1.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 12, 2002 Day 14.
§ Linear Operators Christopher Crawford PHY
Inverting the Jacobian and Manipulability
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
Matthew Christian. About Me Introduction to Linear Algebra Vectors Matrices Quaternions Links.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Math Review.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 3: Transformations 1
3D Game Engine Design 1 3D Game Engine Design Ch D MAP LAB.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Graphics Graphics Korea University cgvr.korea.ac.kr Mathematics for Computer Graphics 고려대학교 컴퓨터 그래픽스 연구실.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
1 Dr. Scott Schaefer Quaternions and Complex Numbers.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Advanced Math.
Fundamentals of Computer Animation Orientation and Rotation.
Graphics Graphics Korea University kucg.korea.ac.kr Mathematics for Computer Graphics 고려대학교 컴퓨터 그래픽스 연구실.
Sect. 4.5: Cayley-Klein Parameters 3 independent quantities are needed to specify a rigid body orientation. Most often, we choose them to be the Euler.
Lecture 10 Geometric Transformations In 3D(Three- Dimensional)
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
3D Kinematics Consists of two parts
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Review: Transformations
Review: Transformations
Lecture 03: Linear Algebra
Rotation representation and Interpolation
Christopher Crawford PHY
(c) University of Wisconsin, CS559
UMBC Graphics for Games
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Game Programming Algorithms and Techniques
Rotation and Orientation: Fundamentals
Presentation transcript:

1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 13, 2002 Day 16

2 Rotation in 2D Multiplication of complex numbers Complex number representation in polar coordinates (magnitude, angle)

3 Euler’s Formula e iθ = cosθ + i sinθ Looking at the derivative of each side

4 All rotations in 3D can be expressed as rotation by an angle around an axis Definition of the axis as an eigenvector of the rotation Proof that in 3D all transforms have 1 or 3 (real) eigenvalues So we have 1 or 3 axes of rotation 3 axes means it’s the identity rotation (maybe with scaling)

5 Quaternion As an axis/angle representation Re-derivation of qvq*

6 Mathematical demonstration that the expression qvq* rotates the vector v Work out the terms, breaking v into components parallel and orthogonal to the axis Show what qvq* does to each of these components

7 Multiplying by a Non-Unit Quaternion Scales the vector (demonstration of this) (analogy to 2D case)

8 Quaternion Powers What is q 2 ? What is q t ?

9 SLERP As q 0 (1-t) q 1 t Rewrite this as q 0 (q 0 -1 q 1 ) t

10 Exponential Form of a Quaternion cosθ + y sinθ ; y is axis of rotation e yθ

11 The Log of a Quaternion log e yθ = yθ But be careful, the additive log identity doesn’t work here! –It requires commutative multiplication –Demonstration of this on whiteboard –The identity does work if the axes are colinear

12 The Exponential Map Is the log of a quaternion –Actually it can also mean the log of an arbitrary transformation matrix, but here we are restricted to quaternions We can interpolate in this space What are the properties of this interpolation?

13 The Exponential Map It interpolates at constant speed, but it is not the same function as slerp Therefore it cannot possibly follow the shortest path of interpolation –(otherwise they’d be the same function!) Indeed the further away the source orientations, the wider the path used by the exponential map

14 The Exponential Map But sometimes you care most about constant speed, so the exponential map works well for that Provides a method of linearization that’s different from the linear interpolation in quaternion space discussed last week Also apparently there’s lots of other math you can do with these, which I don’t know, read some advanced robotics papers to find out

15 Simple Cases For Quaternions qxq* qxq* dot x Convert quaternion to rotation matrix

16 Discussion of my quaternion IK work (demo of app) People generally use Euler angles for IK but they are slow and unintuitive We can use quaternions instead to build a fast system