Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication

Size: px
Start display at page:

Download "Quaternion properties: addition. Introduction to quaternions. Quaternion properties: multiplication. Derivation of multiplication"

Transcription

1 Introduction to quaternions Definition: A quaternion q consists of a scalar part s, s, and a vector part v ( xyz,,, v 3 : q where, [ s, v q [ s, ( xyz,, q s+ ix + jy + kz i 2 j 2 k 2 1 ij ji k k Quaternion properties: addition Definition: q [ s, v [ s, ( x, yz, q' [ s', v' [ s',( x', y', z' q+ q' [ s + s', v+ v' ( s + s' + i( x+ x' + j( y+ y' + k( z + z' Addition is: associative commutative Quaternion properties: multiplication Definition: qq' [ ss' v v', v v' + sv' + s'v qq' [ s, v [ s', v' Derivation of multiplication ( s + ix + jy + kz ( s' + ix' + jy' + kz' qq' ss' + s( ix' + jy' + kz' + ixs' + ix( ix' + jy' + kz' + ( jys' + jy( ix' + jy' + kz' + kzs' + kz( ix' + jy' + kz' Note: qq' ss' + sv' + s'v+ ix( ix' + jy' + kz' + a b a x b x + a y b y + a z b z b a jy( ix' + jy' + kz' + kz( ix' + jy' + kz' a b ( a y b z a z b y, a z b x a x b z, a x b y a y b x b a qq' ss' + sv' + s'v ( xx' + yy' + zz' + ix( jy' + kz' + jy( ix' + kz' + kz( ix' + jy'

2 Derivation of multiplication (continued qq' ss' + sv' + s'v ( xx' + yy' + zz' + ix( jy' + kz' + jy( ix' + kz' + kz( ix' + jy' Derivation of multiplication (continued qq' ss' + sv' + s'v ( xx' + yy' + zz' + xy'k xz'j yx'k + yz'i + zx'j zy'i Now: ij k, ik j, ji k, jk i, ki j, kj i qq' ss' + sv' + s'v ( xx' + yy' + zz' + ( yz' zy' i + ( zx' xz' j + ( xy' yx' k qq' ss' + sv' + s'v ( xx' + yy' + zz' + xy'k xz'j yx'k + yz'i + zx'j zy'i qq' ss' + sv' + s'v v v' + v v' [ ss' v v', v v' + sv' + s'v Quaternion properties Quaternion properties Conjugate: q qq Inverse: q q 2 q 1 Note: qq [ s 2 ( v ( v, v ( v + sv + s( v [ + v v, 0 s 2 Note: qq 1 q 1 q qq q 2 q 2 q 2 [ 1, 0 q s 2 + x 2 + y 2 + z 2 Unit quaternion: q 1

3 Quaternion rotations Quaternion rotation Let, Any unit quaternion can be expressed as: q [ cos( θ 2, sin( θ 2 kˆ where, p ( p x, p y, p z denote the Cartesian coordinates of a point in 3-space. otation of p by θ about the vector kˆ to : kˆ ( k x, k y, k z. p [ 0, p [ 0, Such a unit quaternion represents a rotation of vector kˆ. θ about the qpq Quaternion rotation: angle-axis equivalence emember: qpq qq' [ ss' v v', v v' + sv' + s'v [ s, v [ 0, p [ s, v Quaternion rotation: angle-axis equivalence Scalar part: (Why? Mathematica Vector part I: [ s( v p + ( v p v + s( p v, ( v p v s( p v + s( v p + s 2 p+ v( v p s( v p + ( v p v + s( p v 0 [ v p, v p+ sp [ s, v s( p v + s( v p 2s( v p [ s( v p + ( v p v + s( p v, ( v p v s( p v + s( v p + s 2 p+ v( v p [ 0, ( v p v + 2s( v p + s 2 p+ v( v p

4 Quaternion rotation: angle-axis equivalence [ 0, ( v p v + 2s( v p + s 2 p+ v( v p Quaternion rotation: angle-axis equivalence ( s 2 v vp + 2s( v p + 2( v pv Vector part II: ( v p v ( v vp ( v pv (Why? Mathematica emember unit quaternion: q [ cos( θ 2, sin( θ 2 kˆ [ 0, ( s 2 v vp + 2s( v p + 2( v pv ( s 2 v vp + 2s( v p + 2( v pv [ cos 2 ( θ 2 sin 2 ( θ 2 p + 2cos( θ 2 sin( θ 2 kˆ p + 2sin 2 ( θ 2 ( kˆ pkˆ Quaternion rotation: angle-axis equivalence Quaternion rotation: angle-axis equivalence cosθ cos 2 ( θ 2 sin 2 ( θ 2 ( cosθp + ( sinθkˆ p + ( 1 cosθ ( kˆ pkˆ sinθ 2cos( θ 2 sin( θ 2 ( cθp + ( sθkˆ p + ( vθ ( kˆ pkˆ ( 1 cosθ ( 1 cos 2 ( θ 2 + sin 2 ( θ 2 2sin 2 ( θ 2 [ cos 2 ( θ 2 sin 2 ( θ 2 p + 2cos( θ 2 sin( θ 2 kˆ p + 2sin 2 ( θ 2 ( kˆ pkˆ ( cosθp + ( sinθkˆ p + ( 1 cosθ ( kˆ pkˆ where, cθ sθ cosθ sinθ vθ 1 cosθ Equivalent to ( θp? kˆ (Best answered by Mathematica.

5 Quaternion rotation: angle-axis equivalence Answer from Mathematica: ( θp kˆ Quaternion rotation: summary otation through quaternions: qpq ( k 2 x vθ + cθ ( k x k y vθ k z sθ ( k x k z vθ + k y sθ ( θ kˆ ( k x k y vθ + k z sθ ( k 2 y vθ + cθ ( k y k z vθ k x sθ odrigues formula: ( k x k z vθ k y sθ ( k y k z vθ + k x sθ ( k 2 y vθ + cθ ( cθp + ( sθkˆ p + ( vθ ( kˆ pkˆ Conclusion: same as derived earlier! Composite quaternion rotations Conjugate multiplication Assume two rotations: q o followed by q 1 : p (first rotation qq' [ ss' v v', v v' + sv' + s'v ( q 1 [ s 0, v 0 [ s 1, v 1 (multiplication ' q 1 q 1 (second rotation [ s 0 s 1 v 0 v 1, v 0 v 1 s 0 v 0 s 1 v 1 ' q 1 ( p q 1 ' ( q 1 pq ( 0 q 1 ' ( q 1 pq ( 0 q 1 ' ( q 1 pq ( 1 ( q 1 ([ s 1, v 1 [ s 0, v 0 [ s 1 s 0 v 1 v 0, v 1 v 0 + s 0 v 1 + s 1 v 0 [ s 1 s 0 v 1 v 0, ( v 1 v 0 + s 0 v 1 + s 1 v 0 [ s 0 s 1 v 0 v 1, v 0 v 1 s 0 v 0 s 1 v 1 ( q 1 ( q 1

6 Quaternion to angle-axis representation Quaternion to rotation matrix Unit quaternion: q [ s, v q [ cos( θ 2, sin( θ 2 kˆ θ 2atan( v, s kˆ v v Given: q [ s, ( xyz,, what is r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33? Quaternion to rotation matrix Quaternion to rotation matrix (cont. ( s 2 v vp + 2s( v p + 2( v pv Now: ( s 2 v vp s 2 x 2 ( y 2 z z y 2s( v p 2s z 0 x p 2( v pv 2 y x 0 p x 2 xy xz xy y 2 yz p xz yz z 2 ( s 2 x 2 y 2 z 2 2 x 2 xy xz xy y 2 yz xz yz z 2 p z y + 2s z 0 x + y x 0 (...see Mathematica

7 Quaternion to rotation matrix (cont. otation matrix to quaternion 1 2( y 2 + z 2 2( xy sz 2( xz + sy 2( xy + sz 1 2( x 2 + z 2 2( yz sx 2( xz sy 2( yz + sx 1 2( x 2 + y 2 p Given: r 12 r 13 r 21 r 22 r 23 Therefore, a unit quaternion q [ s, ( xyz,, corresponds to: 1 2( y 2 + z 2 2( xy sz 2( xz + sy 2( xy + sz 1 2( x 2 + z 2 2( yz sx 2( xz sy 2( yz + sx 1 2( x 2 + y 2 r 31 r 32 r 33 what is q [ s, ( xyz,,? otation matrix to quaternion otation matrix to quaternion 1 2( y 2 + z 2 2( xy sz 2( xz + sy 2( xy + sz 1 2( x 2 + z 2 2( yz sx 2( xz sy 2( yz + sx 1 2( x 2 + y 2 s 2 + x 2 y 2 z 2 2( xy sz 2( xz + sy 2( xy + sz s 2 x 2 + y 2 z 2 2( yz sx 2( xz sy 2( yz + sx s 2 x 2 y 2 + z 2 or s 2 + x 2 y 2 z 2 2( xy sz 2( xz + sy 2( xy + sz s 2 x 2 + y 2 z 2 2( yz sx 2( xz sy 2( yz + sx s 2 x 2 y 2 + z 2 3s 2 x 2 y 2 z s 2 x 2 y 2 z 2 + ( s 2 + x 2 + y 2 + z s 2

8 otation matrix to quaternion otation matrix to quaternion + 1 4s 2 s 2 ( 1 4 ( ( y 2 + z 2 2( xy sz 2( xz + sy 2( xy + sz 1 2( x 2 + z 2 2( yz sx 2( xz sy 2( yz + sx 1 2( x 2 + y 2 Similarly: x 2 ( 1 4 ( 1 + r 22 r 33 y 2 ( 1 4 ( 1 r 33 z 2 ( 1 4 ( 1 r 22 r 32 r 23 2( yz + sx 2( yz sx 4sx sx ( 1 4 ( r 32 r 23 sy ( 1 4 ( r 13 r 31 sz ( 1 4 ( r 21 r 12 xy ( 1 4 ( r 12 + r 21 xz ( 1 4 ( r 13 + r 31 yz ( 1 4 ( r 23 + r 32 otation matrix to quaternion s 2 ( 1 4 ( 1 + x 2 ( 1 4 ( 1 + r 22 r 33 y 2 ( 1 4 ( 1 r 33 Quaternion advantages 1. Do not suffer from singularities, as 3-angle conventions do. 2. Most compact way of representing rotations without redundancy or singularity. z 2 ( 1 4 ( 1 r 22 sx ( 1 4 ( r 32 r 23 sy ( 1 4 ( r 13 r 31 sz ( 1 4 ( r 21 r 12 xy ( 1 4 ( r 12 + r 21 xz ( 1 4 ( r 13 + r 31 yz ( 1 4 ( r 23 + r 32 Now what?

9 Quaternion advantages (cont. 3. Distance metric between rotations: dqp (, min[ Eqp (,, Eq (, p Eqp (, ( s q s p 2 + ( x q x p 2 + ( y q y p 2 + ( z q z p 2 4. Finite-precision re-normalization of compound rotations. 5. For simulation purposes, easy to generate a uniformly random distribution of rotations in quaternion space. Trajectory generation between rotations Linear interpolation (Lerp: where, Lerp(, h fq ( 0, h , h [ 01,, fq ( 0, h fq ( 0, h ( 1 h + q 1 h. 6. Computation of shortest-path, smooth, continuous-velocity trajectories between two rotations (represented as unit quaternions. Trajectory generation between rotations Spherical Linear interpolation (Slerp: Constant velocity Shortest path Linear interpolation (Lerp velocity Slerp(, h ( q 1 q 1 0 h, h [ 01, or equivalently as, Slerp(, h ( q 1 h, h [ 01, (why? Nonconstant velocity... So what s the difference?

10 Why nonconstant velocity? Spherical linear interpolation (Slerp velocity Constant velocity...

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

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Animation Curves and Splines 2

Animation Curves and Splines 2 Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with

More information

Transformations: 2D Transforms

Transformations: 2D Transforms 1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation

More information

Quaternion Rotations AUI Course Denbigh Starkey

Quaternion Rotations AUI Course Denbigh Starkey Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an

More information

12.1 Quaternions and Rotations

12.1 Quaternions and Rotations Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations

More information

Animation and Quaternions

Animation and Quaternions Animation and Quaternions Partially based on slides by Justin Solomon: http://graphics.stanford.edu/courses/cs148-1-summer/assets/lecture_slides/lecture14_animation_techniques.pdf 1 Luxo Jr. Pixar 1986

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Quaternions & Rotation in 3D Space

Quaternions & Rotation in 3D Space Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding

More information

Lecture Note 3: Rotational Motion

Lecture Note 3: Rotational Motion ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463

More information

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

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars

More information

Rotation with Quaternions

Rotation with Quaternions Rotation with Quaternions Contents 1 Introduction 1.1 Translation................... 1. Rotation..................... 3 Quaternions 5 3 Rotations Represented as Quaternions 6 3.1 Dynamics....................

More information

CS770/870 Spring 2017 Quaternions

CS770/870 Spring 2017 Quaternions CS770/870 Spring 2017 Quaternions Primary resources used in preparing these notes: 1. van Osten, 3D Game Engine Programming: Understanding Quaternions, https://www.3dgep.com/understanding-quaternions 2.

More information

Quaternions and Euler Angles

Quaternions and Euler Angles Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between

More information

Transformations Week 9, Lecture 18

Transformations Week 9, Lecture 18 CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,

More information

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

More information

Computer Animation II

Computer Animation II Computer Animation II Orientation interpolation Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Lecture 13 6.837 Fall 2002 Interpolation Review from Thursday Splines Articulated bodies

More information

3D Kinematics. Consists of two parts

3D Kinematics. Consists of two parts D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation

More information

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

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory

More information

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

a a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the

More information

2D TRANSFORMATIONS AND MATRICES

2D TRANSFORMATIONS AND MATRICES 2D TRANSFORMATIONS AND MATRICES Representation of Points: 2 x 1 matrix: x y General Problem: B = T A T represents a generic operator to be applied to the points in A. T is the geometric transformation

More information

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations 3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic

More information

FIVE YEARS OLD. P r o f e s s o r ikobbins B. Stoeckei ol is s h o w n b y the J u n e 1 pig c r o p

FIVE YEARS OLD. P r o f e s s o r ikobbins B. Stoeckei ol is s h o w n b y the J u n e 1 pig c r o p / K j Y- Y -K Y X Y K K Y Y 5 9-7 j < - 8 X Y Z Q X 9 K Y - K Y X K Y Z Y - x - - - - x - - - - 5 -j - - x K K j 9 x - - q z K K - - K & -«x x - q j? x z Q - 8 - x q - - 5 - K K Q Y - - x \ - x j Y 5 x

More information

Rotations in 3D Graphics and the Gimbal Lock

Rotations in 3D Graphics and the Gimbal Lock Rotations in 3D Graphics and the Gimbal Lock Valentin Koch Autodesk Inc. January 27, 2016 Valentin Koch (ADSK) IEEE Okanagan January 27, 2016 1 / 37 Presentation Road Map 1 Introduction 2 Rotation Matrices

More information

3D Modelling: Animation Fundamentals & Unit Quaternions

3D Modelling: Animation Fundamentals & Unit Quaternions 3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring

More information

CS354 Computer Graphics Rotations and Quaternions

CS354 Computer Graphics Rotations and Quaternions Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation

More information

Orientation & Quaternions

Orientation & Quaternions Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented

More information

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE

More information

Quaternions. Mike Bailey. A Useful Concept: Spherical Linear Interpolation. sin(1 t) sin t

Quaternions. Mike Bailey. A Useful Concept: Spherical Linear Interpolation. sin(1 t) sin t 1 Quaternions This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu Quaternions.pptx A Useful Concept: Spherical

More information

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives

More information

Lecture «Robot Dynamics»: Kinematics 2

Lecture «Robot Dynamics»: Kinematics 2 Lecture «Robot Dynamics»: Kinematics 2 151-851- V lecture: CAB G11 Tuesday 1:15 12:, every week exercise: HG G1 Wednesday 8:15 1:, according to schedule (about every 2nd week) office hour: LEE H33 Friday

More information

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z);

3D Transformation. In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. x y z. x y z. glvertex3f(x, y,z); 3D Transformation In 3D, we have x, y, and z. We will continue use column vectors:. Homogenous systems:. 3D Transformation glvertex3f(x, y,z); x y z x y z A Right Handle Coordinate System x y z; y z x;

More information

Le s s on 02. Basic methods in Computer Animation

Le s s on 02. Basic methods in Computer Animation Le s s on 02 Basic methods in Computer Animation Lesson 02 Outline Key-framing and parameter interpolation Skeleton Animation Forward and inverse Kinematics Procedural techniques Motion capture Key-framing

More information

2D and 3D Transformations AUI Course Denbigh Starkey

2D and 3D Transformations AUI Course Denbigh Starkey 2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

2D and 3D Coordinate Systems and Transformations

2D and 3D Coordinate Systems and Transformations Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the

More information

CS612 - Algorithms in Bioinformatics

CS612 - Algorithms in Bioinformatics Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations

More information

1 Historical Notes. Kinematics 5: Quaternions

1 Historical Notes. Kinematics 5: Quaternions 1 Historical Notes Quaternions were invented by the Irish mathematician William Rowan Hamilton in the late 1890s. The story goes 1 that Hamilton has pondered the problem of dividing one vector by another

More information

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL Chapter 5 Geometric Transformations Somsak Walairacht, Computer Engineering, KMITL 1 Outline Basic Two-Dimensional Geometric Transformations Matrix Representations and Homogeneous Coordinates Inverse Transformations

More information

Quaternions in Practice

Quaternions in Practice xbdev.net manuscript No. quaternions in practice (bkenwright@xbdev.net) Quaternions in Practice Converting, Validating, and Understanding Ben Kenwright January 2013 Abstract In this paper, we present a

More information

QUATERNIONS AND ROTATIONS

QUATERNIONS AND ROTATIONS 1 CHAPTER 6. QUATERNIONS AND ROTATIONS 1 INSTITIÚID TEICNEOLAÍOCHTA CHEATHARLACH INSTITUTE OF TECHNOLOGY CARLOW QUATERNIONS AND ROTATIONS 1 Quaternions and Rotations 1.1 Introduction William Rowan Hamilton

More information

Vector Calculus: Understanding the Cross Product

Vector Calculus: Understanding the Cross Product University of Babylon College of Engineering Mechanical Engineering Dept. Subject : Mathematics III Class : 2 nd year - first semester Date: / 10 / 2016 2016 \ 2017 Vector Calculus: Understanding the Cross

More information

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

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive

More information

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous

More information

CMSC 425: Lecture 6 Affine Transformations and Rotations

CMSC 425: Lecture 6 Affine Transformations and Rotations CMSC 45: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

More information

Inertial Measurement Units II!

Inertial Measurement Units II! ! Inertial Measurement Units II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 10! stanford.edu/class/ee267/!! wikipedia! Polynesian Migration! Lecture Overview! short review of

More information

Introduction to quaternions. Mathematics. Operations

Introduction to quaternions. Mathematics. Operations Introduction to quaternions Topics: Definition Mathematics Operations Euler Angles (optional) intro to quaternions 1 noel.h.hughes@gmail.com Euler's Theorem y y Angle! rotation follows right hand rule

More information

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

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 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

More information

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

Reading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex Shoemake, Quaternions Tutorial Reading Topics in Articulated Animation 2 Articulated models: rigid parts connected by joints Animation They can be animated by specifying the joint angles (or other display

More information

GEOMETRIC TRANSFORMATIONS AND VIEWING

GEOMETRIC TRANSFORMATIONS AND VIEWING GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are

More information

Fundamentals of Structural Geology Exercise: concepts from chapter 2

Fundamentals of Structural Geology Exercise: concepts from chapter 2 0B Reading: Fundamentals of Structural Geology, Ch 2 1) Develop a MATLAB script that plots the spherical datum (Fig. 2.1a) with unit radius as a wire-frame diagram using lines of constant latitude and

More information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics and Interaction Transformation geometry and homogeneous coordinates 433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry Transforms (part II) Christopher Dyken and Martin Reimers 21.09.2011 Page 1 Transforms (part II) Real Time Rendering book: Transforms (Chapter 4) The Red

More information

EE Kinematics & Inverse Kinematics

EE Kinematics & Inverse Kinematics Electric Electronic Engineering Bogazici University October 15, 2017 Problem Statement Kinematics: Given c C, find a map f : C W s.t. w = f(c) where w W : Given w W, find a map f 1 : W C s.t. c = f 1

More information

Aalto CS-C3100 Computer Graphics, Fall 2016

Aalto CS-C3100 Computer Graphics, Fall 2016 Aalto CS-C3100 Computer Graphics, Fall 2016 Representation and Interpolation of Wikipedia user Blutfink Rotations...or, adventures on the 4D unit sphere Jaakko Lehtinen with lots of slides from Frédo Durand

More information

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces

Chapter 6. Curves and Surfaces. 6.1 Graphs as Surfaces Chapter 6 Curves and Surfaces In Chapter 2 a plane is defined as the zero set of a linear function in R 3. It is expected a surface is the zero set of a differentiable function in R n. To motivate, graphs

More information

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University

More information

Coordinate transformations. 5554: Packet 8 1

Coordinate transformations. 5554: Packet 8 1 Coordinate transformations 5554: Packet 8 1 Overview Rigid transformations are the simplest Translation, rotation Preserve sizes and angles Affine transformation is the most general linear case Homogeneous

More information

Section 4.2 selected answers Math 131 Multivariate Calculus D Joyce, Spring 2014

Section 4.2 selected answers Math 131 Multivariate Calculus D Joyce, Spring 2014 4. Determine the nature of the critical points of Section 4. selected answers Math 11 Multivariate Calculus D Joyce, Spring 014 Exercises from section 4.: 6, 1 16.. Determine the nature of the critical

More information

Splines & Quaternions (splines.txt) by Jochen Wilhelmy a.k.a. digisnap

Splines & Quaternions (splines.txt) by Jochen Wilhelmy a.k.a. digisnap Splines & Quaternions (splines.txt) ----------------------------------- by Jochen Wilhelmy a.k.a. digisnap digisnap@cs.tu-berlin.de 06.08.1997 Introduction ============ This text describes the spline and

More information

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011 Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri

More information

Hw 4 Due Feb 22. D(fg) x y z (

Hw 4 Due Feb 22. D(fg) x y z ( Hw 4 Due Feb 22 2.2 Exercise 7,8,10,12,15,18,28,35,36,46 2.3 Exercise 3,11,39,40,47(b) 2.4 Exercise 6,7 Use both the direct method and product rule to calculate where f(x, y, z) = 3x, g(x, y, z) = ( 1

More information

Computer Graphics Geometric Transformations

Computer Graphics Geometric Transformations Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations

More information

A Detailed Look into Forward and Inverse Kinematics

A Detailed Look into Forward and Inverse Kinematics A Detailed Look into Forward and Inverse Kinematics Kinematics = Study of movement, motion independent of the underlying forces that cause them September 19-26, 2016 Kinematics Preliminaries Preliminaries:

More information

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

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)

More information

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project

More information

OPENRAVE TUTORIAL. Robot Autonomy Spring 2014

OPENRAVE TUTORIAL. Robot Autonomy Spring 2014 OPENRAVE TUTORIAL Robot Autonomy Spring 2014 OPENRAVE Stands for: Open Robotics Automation Virtual Environment All-in-one Robotics Package Contains: Kinematics (forward, inverse, velocity, etc.) Collision

More information

COMP 558 lecture 19 Nov. 17, 2010

COMP 558 lecture 19 Nov. 17, 2010 COMP 558 lecture 9 Nov. 7, 2 Camera calibration To estimate the geometry of 3D scenes, it helps to know the camera parameters, both external and internal. The problem of finding all these parameters is

More information

Transformations (Rotations with Quaternions) October 24, 2005

Transformations (Rotations with Quaternions) October 24, 2005 Computer Graphics Transformations (Rotations with Quaternions) October 4, 5 Virtual Trackball (/3) Using the mouse position to control rotation about two axes Supporting continuous rotations of objects

More information

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016

3D Transformations and Complex Representations. Computer Graphics CMU /15-662, Fall 2016 3D Transformations and Complex Representations Computer Graphics CMU 15-462/15-662, Fall 2016 Quiz 4: Trees and Transformations Student solutions (beautiful!): Rotations in 3D What is a rotation, intuitively?

More information

Animation. Animation

Animation. Animation CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.

More information

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space In computer graphics, we are interested in objects that exist in three dimensions We want a minimum set

More information

Specifying Complex Scenes

Specifying Complex Scenes Transformations Specifying Complex Scenes (x,y,z) (r x,r y,r z ) 2 (,,) Specifying Complex Scenes Absolute position is not very natural Need a way to describe relative relationship: The lego is on top

More information

Kinematical Animation.

Kinematical Animation. Kinematical Animation 3D animation in CG Goal : capture visual attention Motion of characters Believable Expressive Realism? Controllability Limits of purely physical simulation : - little interactivity

More information

Computer Animation III

Computer Animation III Computer Animation III Quaternions Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic Recap: Euler angles 3 angles along 3 axis Poor interpolation, lock But used in flight simulation,

More information

Realization of orientation interpolation of 6-axis articulated robot using quaternion

Realization of orientation interpolation of 6-axis articulated robot using quaternion J. Cent. South Univ. (2012) 19: 3407 3414 DOI: 10.1007/s11771-012-1422-6 Realization of orientation interpolation of 6-axis articulated robot using quaternion AHN Jin-su, CHUNG Won-jee, JUNG Chang-doo

More information

Lab 2A Finding Position and Interpolation with Quaternions

Lab 2A Finding Position and Interpolation with Quaternions Lab 2A Finding Position and Interpolation with Quaternions In this Lab we will learn how to use the RVIZ Robot Simulator, Python Programming Interpreter and ROS tf library to study Quaternion math. There

More information

Transformations. Questions on Assignment 1? Announcements

Transformations. Questions on Assignment 1? Announcements Announcements Is your account working yet? Watch out for ^M and missing newlines Assignment 1 is due next Thursday at midnight Check the webpage and newsgroup for answers to questions about the assignment

More information

CS5620 Intro to Computer Graphics

CS5620 Intro to Computer Graphics CS56 and Quaternions Piar s Luo Jr. A New Dimension - Time 3 4 Principles of Traditional Specifing Anticipation Suash/Stretch Secondar Action 5 6 C. Gotsman, G. Elber,. Ben-Chen Page CS56 Keframes anual

More information

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

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops) Cornell University CS 569: Interactive Computer Graphics Rotations (and other transformations) Lecture 4 2008 Steve Marschner 1 Rotation as rotation matrix 9 floats orthogonal and unit length columns and

More information

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module 02 Lecture Number 10 Basic Transform (Refer

More information

Supplementary Material: The Rotation Matrix

Supplementary Material: The Rotation Matrix Supplementary Material: The Rotation Matrix Computer Science 4766/6778 Department of Computer Science Memorial University of Newfoundland January 16, 2014 COMP 4766/6778 (MUN) The Rotation Matrix January

More information

MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS

MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS MATHEMATICS FOR ENGINEERING TUTORIAL 5 COORDINATE SYSTEMS This tutorial is essential pre-requisite material for anyone studying mechanical engineering. This tutorial uses the principle of learning by example.

More information

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1 Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also

More information

UNIT 2 2D TRANSFORMATIONS

UNIT 2 2D TRANSFORMATIONS UNIT 2 2D TRANSFORMATIONS Introduction With the procedures for displaying output primitives and their attributes, we can create variety of pictures and graphs. In many applications, there is also a need

More information

CS-184: Computer Graphics. Today. Lecture #5: 3D Transformations and Rotations. Transformations in 3D Rotations

CS-184: Computer Graphics. Today. Lecture #5: 3D Transformations and Rotations. Transformations in 3D Rotations CS-184: Compute Gaphics Lectue #5: 3D Tansfomations and Rotations Pof. James O Bien Univesity of Califonia, Bekeley V2009-F-05-1.0 Today Tansfomations in 3D Rotations Matices Eule angles Eponential maps

More information

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

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Vol:5, No:9, 2 Analysis of Euler Angles in a Simple Two-Axis Gimbals Set Ma Myint Myint Aye International Science Index, Mechanical and Mechatronics Engineering Vol:5, No:9, 2 waset.org/publication/358

More information

Quaternions. Ken Shoemake Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104

Quaternions. Ken Shoemake Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104 Abstract Quaternions Ken Shoemake Department of Computer and Information Science University of Pennsylvania Philadelphia, PA 19104 Of the many mathematical tools used in computer graphics, most are well

More information

Planar Robot Kinematics

Planar Robot Kinematics V. Kumar lanar Robot Kinematics The mathematical modeling of spatial linkages is quite involved. t is useful to start with planar robots because the kinematics of planar mechanisms is generally much simpler

More information

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model

More information

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms Chapter IV Spaces and Transforms Scaling 2D scaling with the scaling factors, s x and s y, which are independent. Examples When a polygon is scaled, all of its vertices are processed by the same scaling

More information

Construction Portfolio #4

Construction Portfolio #4 Page 1 Construction Portfolio #4 Construction Portfolio #4 1 27. Light Path 2 28. Triangular Billiards 3 29. Triple Line Reflection (parallels) 4 30. Triple Line Reflection (concurrent) 5 31. Constructions

More information

Quaternions: From Classical Mechanics to Computer Graphics, and Beyond

Quaternions: From Classical Mechanics to Computer Graphics, and Beyond Proceedings of the 7 th Asian Technology Conference in Mathematics 2002. Invited Paper Quaternions: From Classical Mechanics to Computer Graphics, and Beyond R. Mukundan Department of Computer Science

More information

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

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information