Understanding Quaternions: Rotations, Reflections, and Perspective Projections. Ron Goldman Department of Computer Science Rice University

Similar documents
Understanding Quaternions. Ron Goldman Department of Computer Science Rice University

Be fruitful and multiply Genesis 1:28

Be fruitful and multiply Genesis 1:28

sin(α + θ) = sin α cos θ + cos α sin θ cos(α + θ) = cos α cos θ sin α sin θ

Why Transforms? Want to animate objects and camera Translations Rotations Shears And more.. Want to be able to use projection transforms

Introduction to quaternions

ECS 178 Course Notes QUATERNIONS

QUATERNIONS AND ROTATIONS

Complex Numbers and Quaternions for Calc III

Course Name : Physics I Course # PHY 107

A (Mostly) Linear Algebraic Introduction to Quaternions

Quaternions. R. J. Renka 11/09/2015. Department of Computer Science & Engineering University of North Texas. R. J.

Matrices and Vectors

Hongbing Zhang October 2018

Quaternion Algebra and Calculus

Lecture 7. Quaternions

Course 2BA1: Hilary Term 2007 Section 8: Quaternions and Rotations

Notes on multivariable calculus

Quaternions and Groups

Contents. D. R. Wilkins. Copyright c David R. Wilkins

MA40S Pre-calculus UNIT C Trigonometric Identities CLASS NOTES Analyze Trigonometric Identities Graphically and Verify them Algebraically

Clifford Algebras and Spin Groups

Interpolation of Rigid Motions in 3D

BSc (Hons) in Computer Games Development. vi Calculate the components a, b and c of a non-zero vector that is orthogonal to

Chapter 8. Rigid transformations

Quaternions 2 AUI Course Denbigh Starkey

Review of Coordinate Systems

Rigid Geometric Transformations

we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

Formalizing Basic Quaternionic Analysis

Quaternions. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Quaternions Semester 1, / 40

Quaternions and Arithmetic. Colloquium, UCSD, October 27, 2005

Physically Based Rendering ( ) Geometry and Transformations

be ye transformed by the renewing of your mind Romans 12:2

Quantum Computation. Alessandra Di Pierro Computational models (Circuits, QTM) Algorithms (QFT, Quantum search)

The Spectral Theorem for normal linear maps

Vectors Coordinate frames 2D implicit curves 2D parametric curves. Graphics 2008/2009, period 1. Lecture 2: vectors, curves, and surfaces

Lecture 02: 2D Geometry. August 24, 2017

Leandra Vicci. Microelectronic Systems Laboratory. Department of Computer Science. University of North Carolina at Chapel Hill. 27 April 2001.

REFRESHER. William Stallings

Overview of vector calculus. Coordinate systems in space. Distance formula. (Sec. 12.1)

REPRESENTATION THEORY WEEK 7

DUAL SPLIT QUATERNIONS AND SCREW MOTION IN MINKOWSKI 3-SPACE * L. KULA AND Y. YAYLI **

Math review. Math review

we must pay attention to the role of the coordinate system w.r.t. which we perform a tform

Texture, Microstructure & Anisotropy A.D. (Tony) Rollett

5. Vector Algebra and Spherical Trigonometry (continued)

A Lie Group. These notes introduce SU(2) as an example of a compact Lie group. SU(2) = { A A a 2 2 complex matrix,deta = 1,AA = A A = 1l }

DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra.

Mathematical Foundations: Intro

Course MA2C02, Hilary Term 2010 Section 4: Vectors and Quaternions

Math Precalculus Blueprint Assessed Quarter 1

Page 52. Lecture 3: Inner Product Spaces Dual Spaces, Dirac Notation, and Adjoints Date Revised: 2008/10/03 Date Given: 2008/10/03

Lecture 2: Vector-Vector Operations

= ϕ r cos θ. 0 cos ξ sin ξ and sin ξ cos ξ. sin ξ 0 cos ξ

Review of Linear Algebra Definitions, Change of Basis, Trace, Spectral Theorem

Lecture 13: Matrix Representations for Affine and Projective Transformations

Dot product. The dot product is an inner product on a coordinate vector space (Definition 1, Theorem

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Algebra I Fall 2007

Vectors. September 2, 2015

Dual unitary matrices and unit dual quaternions

Linear Algebra Review

If the pull is downward (Fig. 1), we want C to point into the page. If the pull is upward (Fig. 2), we want C to point out of the page.

FFTs in Graphics and Vision. Groups and Representations

ELEMENTARY LINEAR ALGEBRA

A matrix over a field F is a rectangular array of elements from F. The symbol

MA232A Euclidean and Non-Euclidean Geometry School of Mathematics, Trinity College Michaelmas Term 2017 Vector Algebra and Spherical Trigonometry

2. Matrix Algebra and Random Vectors

ROTATIONS OF THE RIEMANN SPHERE

Section 10.7 The Cross Product

Math (P)Review Part I:

Linear Algebra. Workbook

The geometry of least squares

Rigid Geometric Transformations

Phys 201. Matrices and Determinants

Chapter 8 Vectors and Scalars

Mathematics for 3D Graphics

Quaternions and their applications

Matrix Algebra: Vectors

Convergence in shape of Steiner symmetrized line segments. Arthur Korneychuk

is Use at most six elementary row operations. (Partial

FFTs in Graphics and Vision. The Laplace Operator

1 Matrices and matrix algebra

Linear Algebra Notes. Lecture Notes, University of Toronto, Fall 2016

Linear Algebra March 16, 2019

ELEMENTARY LINEAR ALGEBRA

Lecture Notes - Modeling of Mechanical Systems

Pre- Calculus Mathematics Trigonometric Identities and Equations

The Matrix Representation of a Three-Dimensional Rotation Revisited

Omm Al-Qura University Dr. Abdulsalam Ai LECTURE OUTLINE CHAPTER 3. Vectors in Physics

Similarity Transforms, Classes Classes, cont.

Math, Numerics, & Programming. (for Mechanical Engineers)

Math 291-2: Lecture Notes Northwestern University, Winter 2016

SPLIT QUATERNIONS and CANAL SURFACES. in MINKOWSKI 3-SPACE

Linear Algebra Review

6.1. Inner Product, Length and Orthogonality

A Tutorial on Euler Angles and Quaternions

CS 246 Review of Linear Algebra 01/17/19

Quaternions. Mike Bailey. Computer Graphics Quaternions.pptx

Transcription:

Understanding Quaternions: Rotations, Reflections, and Perspective Projections Ron Goldman Department of Computer Science Rice University

The invention of the calculus of quaternions is a step towards the knowledge of quantities related to space which can only be compared for its importance with the invention of triple coordinates by Descartes. The ideas of this calculus, as distinguished from its operations and symbols, are fitted to be of the greatest use in all parts of science. -- Clerk Maxwell, 1869.

Quaternions came from Hamilton after his really good work had been done; and, though beautifully ingenious, have been an unmixed evil to those who have touched them in any way, including Clerk Maxwell. Lord Kelvin, 1892

Motivation

Classical Applications of Quaternions in Computer Graphics Provide Compact Representations for Rotations and Reflections of Vectors in 3-Dimensions Avoid Distortions due to Floating Point Computations during Rotations Enable Key Frame Animation by Spherical Linear Interpolation

Compact Representation for Rotations of Vectors in 3-Dimensions 3 3 Matrices -- 9 Entries Unit Quaternions -- 4 Coefficients

Avoids Distortions due to Floating Point Computations Problem After several matrix multiplications, rotation matrices may no longer be orthogonal due to floating point inaccuracies. Non-Orthogonal matrices are difficult to renormalize. -- Leads to distortions in lengths and angles during rotation. Solution Quaternions are easily renormalized. -- q q q avoids distortions during rotation.

Key Frame Animation Linear Interpolation between two rotation matrices R 1 and R 2 (key frames) fails to generate another rotation matrix. -- Lerp(R 1,R 2,t) = (1 t)r 1 +tr 2 -- not necessarily orthogonal matrices. Spherical Linear Interpolation between two unit quaternions always generates a unit quaternion. -- Slerp(q 1,q 2,t) = sin ((1 t)φ ) sin( tφ) q 1 + sin(φ) sin(φ) q 2 -- always a unit quaternion. q 2 φ tφ (1 t)φ Slerp(q 1,q 2,t) q 1

Additional Applications of Quaternions in Geometric Modeling Practical methods for tubing and texturing smooth curves and surfaces using optimal orthonormal frames [Hanson, 2006]. Better ways to visualize streamlines [Hanson, 2006]. Effective techniques for generating and analyzing 3 dimensional Pythagorean hodograph curves [Farouki, 2008]. Novel constructions of curves and surface patches on spheres [Krasauskas, 2011]. Efficient conformal transformations on triangular meshes [Schroder et al, 2011].

Goals and Motivation To provide a geometric interpretation for quaternions, appropriate for contemporary Computer Graphics. To present better ways to visualize quaternions, and the effect of quaternion multiplication on points and vectors in 3-dimensions. To develop simple, intuitive proofs of the sandwiching formulas for rotation and reflection. To show how to apply sandwiching to compute perspective projections (NEW).

Prerequisites Complex Numbers e iθ = cos(θ) + isin(θ) z e iθ z rotates z by the angle θ in the complex plane Vector Geometry u v = 0 u v u v u,v

Models for Visualizing 4 Dimensions

Mathematical Models for 4-Dimensions Mass-Points Vectors in 4-Dimensions Pairs of Mutually Orthogonal Planes

Mass Points and Archimedes Law of the Lever m m 1 1 Δ + m 2 m 2 P 1 P 2 (m 1 P 1,m 1 ) + (m 2 P 2,m 2 ) = (m 1 P 1 + m 2 P 2,m 1 + m 2 ) m d 1 = dist 1 P 1 + m 2 P 2, P m 1 + m 1 = m 2 P 2 P 1 2 m 1 + m 2 m d 2 = dist 1 P 1 + m 2 P 2, P m 1 + m 2 = m 1 P 1 P 2 2 m 1 + m 2 m 1 d 1 = m 2 d 2

Mass Points and Vectors (v,0) (mp, m) (mp, m) + (v,0) = (mp + v, m) m m

Addition and Subtraction for Vectors u + v v v u v u u Addition Subtraction

Quaternions Old Definition q = a + bi + c j + dk = a + v Sum of a scalar and a vector New Definition q = ao + bi + c j + dk = ao + v Sum of a mass-point and a vector = a mass-point O = (0,0, 0,1) = origin identity for quaternion multiplication

Quaternion Multiplication Notation (Mass-Points) q = ao + bi + c j + dk O = identity for multiplication Multiplication (Basis Vectors) i 2 = j 2 = k 2 = O O 2 = O ij = k jk = i ki = j ji = k kj = i ik = j Multiplication (Arbitrary Quaternion) (ao + v)(α O +w) = (aα v w)o + (α v + aw + v w) vw = (v w)o + v w

Properties of Quaternion Multiplication Associative Not Commutative Distributes Through Addition Identity and Inverses

The 4 Dimensional Vector Space of Quaternions (mp,m) mass (P,1) O = (0,0,0,1) Points mass = 1 (v, 0) O = (0,0,0,0) Vectors mass = 0

Pairs of Complementary Orthogonal Planes i k O j Complex Plane i 2 = O, O 2 = O Orthogonal Plane j, k O, i

Orthogonal Plane k i j = j O Orthogonal Plane j, k O, i Complex Plane j

Pairs of Complementary Orthogonal Planes j i O k Complex Plane j 2 = O, O 2 = O Orthogonal Plane k, i O, j

Orthogonal Plane i j k = k O Orthogonal Plane Complex Plane k

Pairs of Complementary Orthogonal Planes N N v = N v O v Complex Plane N 2 = O, O 2 = O Orthogonal Plane v, N v O, N

Orthogonal Plane Nv N = v O v Orthogonal Plane Complex Plane v

The Geometry of Quaternion Multiplication

Quaternion Multiplication and Isometries Norm of Product pq = p q

Quaternion Multiplication and Isometries Norm of Product pq = p q Multiplication by Unit Quaternions p pq q =1 multiplication by q (on left or right) is a linear isometry in R 4

Quaternion Multiplication and Isometries Norm of Product pq = p q Multiplication by Unit Quaternions p pq q =1 multiplication by q (on left or right) is a linear isometry in R 4 multiplication by q (on left or right) is rotation in R 4

Properties of Vector Multiplication Vector Multiplication v w = ( v w)o + v w Consequences N v Nv = N v N = 1 N 2 = O O, N plane is isomorphic to the complex plane -- N 2 = O, O 2 = O -- NO = ON = N

Vector Multiplication Introduces Mass via Rotation w O θ v v θ v w v w v w = cos(θ) sin(θ) v w = cos(θ )O + sin(θ ) v w v w v 2 = O Plane of v,w Orthogonal Plane of v w,o Multiplication by v represents a rotation in 4-dimensions

Planes Isomorphic to the Complex Plane N axis y axis N q(n,θ ) = cos(θ )O +sin(θ ) N i e iθ = cos(θ ) + isin(θ) θ O O axis θ 1 x axis O, N Plane Complex Plane N 2 = O, O 2 = O i 2 = 1, 1 2 =1 q(n,θ) = cos(θ )O + sin(θ)n Rotation e iθ = cos(θ) + isin(θ) {e N θ } by θ

Conjugation Definition q = ao + bi + c j + dk q = ao bi c j dk Properties (p q) = q p q q = q 2 O ( pq = p q ) Inverses and Inversion q 1 = q qq = q q 2 (inverses) v 1 = v v 2 (inversion)

Inversion in the Sphere Definition q = center of unit sphere inv q (p) = point along line from q to p at distance d = 1/ p q from q Formula inv q (p) = q + inv q ( p) q = p q p q 2 = q ( p q) 1 p q p q 2 = 1 p q Properties inv q turns unit sphere centered at q inside out inv q inv q = identity inv q maps spheres and planes to spheres and planes

Conjugates of Complex Numbers Complex Number q(n, θ) = cos(θ )O +sin(θ)n Complex Conjugate q (N, θ) = cos(θ)o sin(θ)n q (N, θ) = q(n, θ) = q(n, θ) 1

Rotation in Complementary Planes -- Double Isoclinic Rotations q(n,θ) p p q(n,θ) N q (N,θ) p p q (N,θ) q(n,θ) v v q (N,θ ) N v q (N,θ ) v v q(n,θ) O v Plane of O, N Rotation by the Angle θ q(n,θ), q (N,θ) Cancel Plane Perpendicular to O, N Rotation by the Angle θ q(n,θ), q (N,θ) Reinforce

Rotation in Plane Perpendicular to O, N i. q(n, θ)v = ( cos(θ)o+sin(θ )N )v = cos(θ)v +sin(θ)n v ii. v q(n, θ) = v( cos(θ)o+sin(θ)n ) = cos(θ)v +sin(θ)v N = cos(θ)v sin(θ)n v N v q(n, θ )v (sinθ ) N v θ θ (cosθ)v v (sinθ ) N v vq(n, θ) Plane O, N

Sandwiching with Conjugates in Complementary Planes -- Simple Rotations q(n, θ) p N pq (N,θ) q(n,θ) v N v v q (N,θ) O v Plane of O, N Sandwiching q(n,θ) p q (N,θ) q(n,θ), q (N,θ) Cancel Plane Perpendicular to O, N Sandwiching q(n,θ) v q (N,θ) q(n,θ), q (N,θ) Reinforce

Sandwiching in Complementary Planes -- Simple Rotations q(n, θ) p N pq(n,θ) q(n,θ) v N v v q(n,θ) O v Plane of O, N Plane Perpendicular to O, N Sandwiching q(n,θ) p q(n,θ ) Sandwiching q(n,θ) v q(n,θ ) q(n,θ) on Left and Right Reinforce q(n,θ) on Left and Right Cancel

Rotation, Reflection and Perspective Projection

3 Dimensional and 4-Dimensional Interpretations of the Plane to O, N N v αv + βn v v Plane of Vectors O, N in 4-Dimensions = Plane of Vectors N in 3-Dimensions

The 4 Dimensional Vector Space of Quaternions (mp,m) mass (P,1) O = (0,0,0,1) Points mass = 1 (v, 0) O = (0,0,0,0) Vectors mass = 0

3 Dimensional and 4-Dimensional Interpretations of the Plane of O, N N αo + βn αo + βn O + β α N O O N Plane of O, N in 4-Dimensions Plane of Vectors in 4-Dimensions Line Through O in Direction N in 3-Dimensions Line of Points in 3-Dimensions

Rotation and Reflection p q(n, θ) p q (N, θ) Plane of O, N = Line through O parallel to N -- Identity FIXED AXIS LINE Plane O, N = Plane N -- Rotation by Angle 2θ -- ROTATION p q(n, θ) p q(n, θ ) Plane O, N = Plane N -- Identity FIXED PLANE Plane of O, N = Line through O parallel to N -- N N -- MIRROR IMAGE -- N Mass Point -- PERSPECTIVE PROJECTION

Rotation N P v P new v L v new v O θ v new

Sandwiching with Conjugates in Complementary Planes -- Simple Rotations q(n, θ) p N pq (N,θ) q(n,θ) v N v v q (N,θ) O v Plane of O, N Sandwiching q(n,θ) p q (N,θ) q(n,θ), q (N,θ) Cancel Plane Perpendicular to O, N Sandwiching q(n,θ) v q (N,θ) q(n,θ), q (N,θ) Reinforce

Rotation: Sandwiching in Complementary Planes N N v v O v new θ v Plane of O, N Plane Perpendicular to O, N q(n,θ / 2) v q (N,θ / 2) = v q(n,θ / 2) v new q (N,θ / 2) Identity Rotation by θ

Theorem 1: Sandwiching Rotates Vectors in 3 Dimensions Let q(n, θ / 2) = cos(θ / 2)O +sin(θ / 2)N v = vector in R 3 Then q(n, θ / 2) v q (N, θ / 2) rotates v by the angle θ around the axis N

Corollary: Composites of Rotations are Represented by Products of Quaternions The composite of rotations represented by two quaternions q(n 1,θ 1 / 2), q(n 2, θ 2 / 2) is represented by the product quaternion q = q(n 2, θ 2 / 2) q(n 1, θ 1 / 2). Proof: q v q = q(n 2, θ 2 / 2) q(n 1,θ 1 / 2)v ( q(n 2, θ 2 / 2)q(N 1, θ 1 / 2) ) = q(n 2, θ 2 / 2)q(N 1,θ 1 / 2) v q (N 1, θ 1 / 2)q (N 2,θ 2 / 2)

Reflection P v N O S v new N P new

Sandwiching in Complementary Planes -- Simple Rotations q(n, θ) p N pq(n,θ) q(n,θ) v N v v q(n,θ) O v Plane of O, N Plane Perpendicular to O, N Sandwiching q(n,θ) p q(n,θ ) Sandwiching q(n,θ) v q(n,θ ) q(n,θ) on Left and Right Reinforce q(n,θ) on Left and Right Cancel

Reflection: Sandwiching in Complementary Planes N N v v v new θ O v Plane of O, N Plane Perpendicular to O, N q(n,θ / 2) v q(n,θ / 2) Rotation by θ q(n,θ / 2) v q(n,θ / 2) = v Identity

Theorem 2: Sandwiching Reflects Vectors in 3 Dimensions Let v = vector in R 3 Then N v N is the mirror image of w in the plane N Proof: Take θ = π. Then sandwiching v with: q(n,π / 2) = cos(π / 2)O + sin(π / 2)N = N gives the mirror image of v in the plane N.

Perspective Projection E(eye) R P S (Perspective Plane) Q P new (Perspective Point) N ΔEQP new ΔE RP

Perspective Projection: Sandwiching in the Plane of O, N N O N O Plane of O, N Plane of O, N Before Sandwiching with q(n, π / 4) After Sandwiching with q(n, π / 4) Length along N is mapped to mass at O

Perspective Projection: Sandwiching in Complementary Planes N N v v v new O v Plane of O, N q(n, π / 4) d N q(n, π / 4) = d O Rotation by π / 2 Plane Perpendicular to O, N q(n, π / 4) v q(n, π / 4) = v Identity

Perspective Projection E(eye) = O N dn R v P E P N O v / d P new (Perspective Point) S (Perspective Plane) P E = d N + v do + v O + v / d ΔEOP new ΔE RP

Theorem 3: Sandwiching Vectors to the Eye with q(n, π / 4) Gives Perspective Let S = plane through the origin O perpendicular to the unit normal N E = O N = eye point P = point in R 3 Then q(n, π / 4) (P E) q(n, π / 4) is a mass-point, where: -- the point is located at the perspective projection of the point P from the eye point E onto the plane S; -- the mass is equal to the distance d of the point P from the plane through the eye point E perpendicular to the unit normal N.

Hidden Surfaces E(eye) = O N d N v P d N O v P v / d = v / d P new (Perspective Point) S (Perspective Plane) d < d P obscures P Converts Distance Along N to Mass at O

Summary: Sandwiching with q(n, π / 4) Maps the Vector N to the Point O q(n, π / 4) N q(n, π / 4) = O Projects a Vector to a Point Projects Points into a Plane Converts Distance Along N to Mass at O q(n, π / 4) dn q(n, π / 4) = d O No Information is Lost Hidden Surfaces

Perspective Projection: Sandwiching in Complementary Planes N N v v N new θ v new O v O new Plane of O, N q(n, θ / 2) N q(n, θ / 2) = sin(θ)o + cos(θ)n Rotation by θ Plane Perpendicular to O, N q(n,θ / 2) v q(n,θ / 2) = v Identity

Perspective Projection E(eye) = O + dn R v ( cot(θ) csc(θ) )N P E P csc(θ )N Q = O + cot(θ)n S (Perspective Plane) csc(θ ) v d P new (Perspective Point) P E = d N + v d sin(θ)o + d cos(θ )N + v O + cot(θ)n + csc(θ) v d ΔEQP new ΔE RP

Theorem 4: Sandwiching Vectors to the Eye with q(n, θ / 2) Gives Perspective Let S = plane through the point O + cot(θ)n q(n, θ / 2) N q(n, θ / 2) perpendicular to the unit normal N E = O + ( cot(θ) csc(θ) ) N = eye point P = point in R 3 Then q(n, θ / 2) (P E) q(n, θ / 2) is a mass-point, where: -- the point is located at the perspective projection of the point P from the eye point E onto the plane S; -- the mass is equal sin(θ) times the distance d of the point P from the plane through the eye point E perpendicular to the unit normal N.

Translation and Perspective Commute dn csc(θ)n E(eye) v P E P E(eye) = O + ( cot(θ) csc(θ) )N dn csc(θ)n v P E P Q csc(θ) v d P new (Perspective Point) O + cot(θ) N csc(θ) v d P new (Perspective Point) S(Perspective Plane) S (Perspective Plane)

Theorem 5: Sandwiching Vectors to the Eye with q(n, θ / 2) Gives Perspective Let E = eye point S = plane at a distance csc(θ ) from E perpendicular to the unit normal N P = point in R 3 Then q(n, θ / 2) (P E) q(n, θ / 2) is a mass-point, where: -- the point is located at the perspective projection of the point P from the eye point E onto the plane S translated to the canonical plane; -- the mass is equal sin(θ) times the distance d of the point P from the plane through the eye point E perpendicular to the unit normal N. Proof: Translation and Perspective Commute.

Conclusions Rotations, Reflections, and Perspective Projections in 3 Dimensions can all be Modeled by Simple Rotations in 4 Dimensions Simple Rotations in 4-Dimensions can be Modeled by Sandwiching either i. Between a Unit Quaternion and its Conjugate (Rotation) ii. Between Two Copies of the Same Unit Quaternion (Reflection and Perspective Projection)

Formulas Rotation v q(n,θ) v q (N,θ) Reflection v N v N Perspective Projection P q(n,θ)(p E) q (N,θ) Inversion P Q (P Q) 1

References 1. Goldman, R. (2010), Rethinking Quaternions: Theory and Computation, Synthesis Lectures on Computer Graphics and Animation, ed. Brian A. Barsky, No. 13. San Rafael: Morgan & Claypool Publishers. 2. Goldman, R. (2011), Understanding Quaternions, Graphical Models, Vol. 73, pp. 21-49. 3. Goldman, R. (2011), Modeling Perspective Projections in 3-Dimensions by Rotations in 4-Dimensions, submitted for publication.