
Visualizing Quaternions
- 1st Edition - November 15, 2004
- Imprint: Morgan Kaufmann
- Authors: Steve Cunningham, Andrew J. Hanson
- Language: English
- Hardback ISBN:9 7 8 - 0 - 1 2 - 0 8 8 4 0 0 - 1
- Paperback ISBN:9 7 8 - 1 - 4 8 3 2 - 9 9 8 8 - 4
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 4 7 4 7 7 - 9
Introduced 160 years ago as an attempt to generalize complex numbers to higher dimensions, quaternions are now recognized as one of the most important concepts in modern computer… Read more

Purchase options

Institutional subscription on ScienceDirect
Request a sales quoteIntroduced 160 years ago as an attempt to generalize complex numbers to higher dimensions, quaternions are now recognized as one of the most important concepts in modern computer graphics. They offer a powerful way to represent rotations and compared to rotation matrices they use less memory, compose faster, and are naturally suited for efficient interpolation of rotations. Despite this, many practitioners have avoided quaternions because of the mathematics used to understand them, hoping that some day a more intuitive description will be available.The wait is over. Andrew Hanson's new book is a fresh perspective on quaternions. The first part of the book focuses on visualizing quaternions to provide the intuition necessary to use them, and includes many illustrative examples to motivate why they are important—a beautiful introduction to those wanting to explore quaternions unencumbered by their mathematical aspects. The second part covers the all-important advanced applications, including quaternion curves, surfaces, and volumes. Finally, for those wanting the full story of the mathematics behind quaternions, there is a gentle introduction to their four-dimensional nature and to Clifford Algebras, the all-encompassing framework for vectors and quaternions.
- Richly illustrated introduction for the developer, scientist, engineer, or student in computer graphics, visualization, or entertainment computing.
- Covers both non-mathematical and mathematical approaches to quaternions.
Programmers and developers in computer graphics and the game industry, scientists and engineers working in aerospace and scientific visualization, students of game development and computer graphics, and those interested in quaternions but who have limited math background.
- ABOUT THE AUTHOR
- FOREWORD by Steve Cunningham
- PREFACE
- ACKNOWLEDGMENTS
- PART I ELEMENTS OF QUATERNIONS
- 01 THE DISCOVERY OF QUATERNIONS
- 1.1 Hamilton's Walk
- 1.2 Then Came Octonions
- 1.3 The Quaternion Revival
- 02 FOLKLORE OF ROTATIONS
- 2.1 The Belt Trick
- 2.2 The Rolling Ball
- 2.3 The Apollo 10 Gimbal-lock Incident
- 2.4 3D Game Developer's Nightmare
- 2.5 The Urban Legend of the Upside-down F16
- 2.6 Quaternions to the Rescue
- 03 BASIC NOTATION
- 3.1 Vectors
- 3.2 Length of a Vector
- 3.3 3D Dot Product
- 3.4 3D Cross Product
- 3.5 Unit Vectors
- 3.6 Spheres
- 3.7 Matrices
- 3.8 Complex Numbers
- 04 WHAT ARE QUATERNIONS?
- 05 ROAD MAP TO QUATERNION VISUALIZATION
- 5.1 The Complex Number Connection
- 5.2 The Cornerstones of Quaternion Visualization
- 06 FUNDAMENTALS OF ROTATIONS
- 6.1 2D Rotations
- 6.1.1 Relation to Complex Numbers
- 6.1.2 The Half-angle Form
- 6.1.3 Complex Exponential Version
- 6.2 Quaternions and 3D Rotations
- 6.2.1 Construction
- 6.2.2 Quaternions and Half Angles
- 6.2.3 Double Values
- 6.3 Recovering Θ and n
- 6.4 Euler Angles and Quaternions
- 6.5 † Optional Remarks
- 6.5.1 † Connections to Group Theory
- 6.5.2 † "Pure" Quaternion Derivation
- 6.5.3 † Quaternion Exponential Version
- 6.6 Conclusion
- 6.1 2D Rotations
- 07 VISUALIZING ALGEBRAIC STRUCTURE
- 7.1 Algebra of Complex Numbers
- 7.1.1 Complex Numbers
- 7.1.2 Abstract View of Complex Multiplication
- 7.1.3 Restriction to Unit-length Case
- 7.2 Quaternion Algebra
- 7.2.1 The Multiplication Rule
- 7.2.2 Scalar Product
- 7.2.3 Modulus of the Quaternion Product
- 7.2.4 Preservation of the Unit Quaternions
- 7.1 Algebra of Complex Numbers
- 08 VISUALIZING SPHERES
- 8.1 2D: Visualizing an Edge-on Circle
- 8.1.1 Trigonometric Function Method
- 8.1.2 Complex Variable Method
- 8.1.3 Square Root Method
- 8.2 The Square Root Method
- 8.3 3D: Visualizing a Balloon
- 8.3.1 Trigonometric Function Method
- 8.3.2 Square Root Method
- 8.4 4D: Visualizing Quaternion Geometry on S3
- 8.4.1 Seeing the Parameters of a Single Quaternion
- 8.4.2 Hemispheres in S3
- 8.1 2D: Visualizing an Edge-on Circle
- 09 VISUALIZING LOGARITHMS AND EXPONENTIALS
- 9.1 Complex Numbers
- 9.2 Quaternions
- 10 VISUALIZING INTERPOLATION METHODS
- 10.1 Basics of Interpolation
- 10.1.1 Interpolation Issues
- 10.1.2 Gram-Schmidt Derivation of the SLERP
- 10.1.3 † Alternative Derivation
- 10.2 Quaternion Interpolation
- 10.3 Equivalent 3×3 Matrix Method
- 10.1 Basics of Interpolation
- 11 LOOKING AT ELEMENTARY QUATERNION FRAMES
- 11.1 A Single Quaternion Frame
- 11.2 Several Isolated Frames
- 11.3 A Rotating Frame Sequence
- 11.4 Synopsis
- 12 QUATERNIONS AND THE BELT TRICK: CONNECTING TO THE IDENTITY
- 12.1 Very Interesting, but Why?
- 12.1.1 The Intuitive Answer
- 12.1.2 † The Technical Answer
- 12.2 The Details
- 12.3 Frame-sequence Visualization Methods
- 12.3.1 One Rotation
- 12.3.2 Two Rotations
- 12.3.3 Synopsis
- 12.1 Very Interesting, but Why?
- 13 QUATERNIONS AND THE ROLLING BALL: EXPLOITING ORDER DEPENDENCE
- 13.1 Order Dependence
- 13.2 The Rolling Ball Controller
- 13.3 Rolling Ball Quaternions
- 13.4 † Commutators
- 13.5 Three Degrees of Freedom From Two
- 14 QUATERNIONS AND GIMBAL LOCK: LIMITING THE AVAILABLE SPACE
- 14.1 Guidance System Suspension
- 14.2 Mathematical Interpolation Singularities
- 14.3 Quaternion Viewpoint
- 01 THE DISCOVERY OF QUATERNIONS
- PART II ADVANCED QUATERNION TOPICS
- 15 ALTERNATIVE WAYS OF WRITING QUATERNIONS
- 15.1 Hamilton's Generalization of Complex Numbers
- 15.2 Pauli Matrices
- 15.3 Other Matrix Forms
- 16 EFFICIENCY AND COMPLEXITY ISSUES
- 16.1 Extracting a Quaternion
- 16.1.1 Positive Trace R
- 16.1.2 Nonpositive Trace R
- 16.2 Efficiency of Vector Operations
- 16.1 Extracting a Quaternion
- 17 ADVANCED SPHERE VISUALIZATION
- 17.1 Projective Method
- 17.1.1 The Circle S1
- 17.1.2 General SN Polar Projection
- 17.2 Distance-preserving Flattening Methods
- 17.2.1 Unroll-and-Flatten S1
- 17.2.2 S2 Flattened Equal-area Method
- 17.2.3 S3 Flattened Equal-volume Method
- 17.1 Projective Method
- 18 MORE ON LOGARITHMS AND EXPONENTIALS
- 18.1 2D Rotations
- 18.2 3D Rotations
- 18.3 Using Logarithms for Quaternion Calculus
- 18.4 Quaternion Interpolations Versus Log
- 19 TWO-DIMENSIONAL CURVES
- 19.1 Orientation Frames for 2D Space Curves
- 19.1.1 2D Rotation Matrices
- 19.1.2 The Frame Matrix in 2D
- 19.1.3 Frame Evolution in 2D
- 19.2 What Is a Map?
- 19.3 Tangent and Normal Maps
- 19.4 Square Root Form
- 19.4.1 Frame Evolution in (a, b)
- 19.4.2 Simplifying the Frame Equations
- 19.1 Orientation Frames for 2D Space Curves
- 20 THREE-DIMENSIONAL CURVES
- 20.1 Introduction to 3D Space Curves
- 20.2 General Curve Framings in 3D
- 20.3 Tubing
- 20.4 Classical Frames
- 20.4.1 Frenet-Serret Frame
- 20.4.2 Parallel Transport Frame
- 20.4.3 Geodesic Reference Frame
- 20.4.4 General Frames
- 20.5 Mapping the Curvature and Torsion
- 20.6 Theory of Quaternion Frames
- 20.6.1 Generic Quaternion Frame Equations
- 20.6.2 Quaternion Frenet Frames
- 20.6.3 Quaternion Parallel Transport Frames
- 20.7 Assigning Smooth Quaternion Frames
- 20.7.1 Assigning Quaternions to Frenet Frames
- 20.7.2 Assigning Quaternions to Parallel Transport Frames
- 20.8 Examples: Torus Knot and Helix Quaternion Frames
- 20.9 Comparison of Quaternion Frame Curve Lengths
- 21 3D SURFACES
- 21.1 Introduction to 3D Surfaces
- 21.1.1 Classical Gauss Map
- 21.1.2 Surface Frame Evolution
- 21.1.3 Examples of Surface Framings
- 21.2 Quaternion Weingarten Equations
- 21.2.1 Quaternion Frame Equations
- 21.2.2 Quaternion Surface Equations (Weingarten Equations)
- 21.3 Quaternion Gauss Map
- 21.4 Example: The Sphere
- 21.4.1 Quaternion Maps of Alternative Sphere Frames
- 21.4.2 Covering the Sphere and the Geodesic Reference Frame South Pole Singularity
- 21.5 Examples: Minimal Surface Quaternion Maps
- 21.1 Introduction to 3D Surfaces
- 22 OPTIMAL QUATERNION FRAMES
- 22.1 Background
- 22.2 Motivation
- 22.3 Methodology
- 22.3.1 The Space of Possible Frames
- 22.3.2 Parallel Transport and Minimal Measure
- 22.4 The Space of Frames
- 22.4.1 Full Space of Curve Frames
- 22.4.2 Full Space of Surface Maps
- 22.5 Choosing Paths in Quaternion Space
- 22.5.1 Optimal Path Choice Strategies
- 22.5.2 General Remarks on Optimization in Quaternion Space
- 22.6 Examples
- 22.6.1 Minimal Quaternion Frames for Space Curves
- 22.6.2 Minimal-quaternion-area Surface Patch Framings
- 23 QUATERNION VOLUMES
- 23.1 Three-degree-of-freedom Orientation Domains
- 23.2 Application to the Shoulder Joint
- 23.3 Data Acquisition and the Double-covering Problem
- 23.3.1 Sequential Data
- 23.3.2 The Sequential Nearest-neighbor Algorithm
- 23.3.3 The Surface-based Nearest-neighbor Algorithm
- 23.3.4 The Volume-based Nearest-neighbor Algorithm
- 23.4 Application Data
- 24 QUATERNION MAPS OF STREAMLINES
- 24.1 Visualization Methods
- 24.1.1 Direct Plot of Quaternion Frame Fields
- 24.1.2 Similarity Measures for Quaternion Frames
- 24.1.3 Exploiting or Ignoring Double Points
- 24.2 3D Flow Data Visualizations
- 24.2.1 AVS Streamline Example
- 24.2.2 Deforming Solid Example
- 24.3 Brushing: Clusters and Inverse Clusters
- 24.4 Advanced Visualization Approaches
- 24.4.1 3D Rotations of Quaternion Displays
- 24.4.2 Probing Quaternion Frames with 4D Light
- 24.1 Visualization Methods
- 25 QUATERNION INTERPOLATION
- 25.1 Concepts of Euclidean Linear Interpolation
- 25.1.1 Constructing Higher-order Polynomial Splines
- 25.1.2 Matching
- 25.1.3 Schlag's Method
- 25.1.4 Control-point Method
- 25.2 The Double Quad
- 25.3 Direct Interpolation of 3D Rotations
- 25.3.1 Relation to Quaternions
- 25.3.2 Method for Arbitrary Origin
- 25.3.3 Exponential Version
- 25.3.4 Special Vector-Vector Case
- 25.3.5 Multiple-level Interpolation Matrices
- 25.3.6 Equivalence of Quaternion and Matrix Forms
- 25.4 Quaternion Splines
- 25.5 Quaternion de Casteljau Splines
- 25.6 Equivalent Anchor Points
- 25.7 Angular Velocity Control
- 25.8 Exponential-map Quaternion Interpolation
- 25.9 Global Minimal Acceleration Method
- 25.9.1 Why a Cubic?
- 25.9.2 Extension to Quaternion Form
- 25.1 Concepts of Euclidean Linear Interpolation
- 26 QUATERNION ROTATOR DYNAMICS
- 26.1 Static Frame
- 26.2 Torque
- 26.3 Quaternion Angular Momentum
- 27 CONCEPTS OF THE ROTATION GROUP
- 27.1 Brief Introduction to Group Representations
- 27.1.1 Complex Versus Real
- 27.1.2 What Is a Representation?
- 27.2 Basic Properties of Spherical Harmonics
- 27.2.1 Representations and Rotation-invariant Properties
- 27.2.2 Properties of Expansion Coefficients Under Rotations
- 27.1 Brief Introduction to Group Representations
- 28 SPHERICAL RIEMANNIAN GEOMETRY
- 28.1 Induced Metric on the Sphere
- 28.2 Induced Metrics of Spheres
- 28.2.1 S1 Induced Metrics
- 28.2.2 S2 Induced Metrics
- 28.2.3 S3 Induced Metrics
- 28.2.4 Toroidal Coordinates on S3
- 28.2.5 Axis-angle Coordinates on S3
- 28.2.6 General Form for the Square-root Induced Metric
- 28.3 Elements of Riemannian Geometry
- 28.4 Riemann Curvature of Spheres
- 28.4.1 S1
- 28.4.2 S2
- 28.4.3 S3
- 28.5 Geodesics and Parallel Transport on the Sphere
- 28.6 Embedded-vector Viewpoint of the Geodesics
- 15 ALTERNATIVE WAYS OF WRITING QUATERNIONS
- PART III BEYOND QUATERNIONS
- 29 THE RELATIONSHIP OF 4D ROTATIONS TO QUATERNIONS
- 29.1 What Happened in Three Dimensions
- 29.2 Quaternions and Four Dimensions
- 30 QUATERNIONS AND THE FOUR DIVISION ALGEBRAS
- 30.1 Division Algebras
- 30.1.1 The Number Systems with Dimensions 1, 2, 4, and 8
- 30.1.2 Parallelizable Spheres
- 30.2 Relation to Fiber Bundles
- 30.3 Constructing the Hopf Fibrations
- 30.3.1 Real: S0 fiber + S1 base = S1 bundle
- 30.3.2 Complex: S1 fiber + S2 base = S3 bundle
- 30.3.3 Quaternion: S3 fiber + S4 base = S7 bundle
- 30.3.4 Octonion: S7 fiber + S8 base = S15 bundle
- 30.1 Division Algebras
- 31 CLIFFORD ALGEBRAS
- 31.1 Introduction to Clifford Algebras
- 31.2 Foundations
- 31.2.1 Clifford Algebras and Rotations
- 31.2.2 Higher-dimensional Clifford Algebra Rotations
- 31.3 Examples of Clifford Algebras
- 31.3.1 1D Clifford Algebra
- 31.3.2 2D Clifford Algebra
- 31.3.3 2D Rotations Done Right
- 31.3.4 3D Clifford Algebra
- 31.3.5 Clifford Implementation of 3D Rotations
- 31.4 Higher Dimensions
- 31.5 Pin(N), Spin(N), O(N), SO(N), and All That. . .
- 32 CONCLUSIONS
- 29 THE RELATIONSHIP OF 4D ROTATIONS TO QUATERNIONS
- APPENDICES
- A NOTATION
- A.1 Vectors
- A.2 Length of a Vector
- A.3 Unit Vectors
- A.4 Polar Coordinates
- A.5 Spheres
- A.6 Matrix Transformations
- A.7 Features of Square Matrices
- A.8 Orthogonal Matrices
- A.9 Vector Products
- A.9.1 2D Dot Product
- A.9.2 2D Cross Product
- A.9.3 3D Dot Product
- A.9.4 3D Cross Product
- A.10 Complex Variables
- B 2D COMPLEX FRAMES
- C 3D QUATERNION FRAMES
- C.1 Unit Norm
- C.2 Multiplication Rule
- C.3 Mapping to 3D rotations
- C.4 Rotation Correspondence
- C.5 Quaternion Exponential Form
- D FRAME AND SURFACE EVOLUTION
- D.1 Quaternion Frame Evolution
- D.2 Quaternion Surface Evolution
- E QUATERNION SURVIVAL KIT
- F QUATERNION METHODS
- F.1 Quaternion Logarithms and Exponentials
- F.2 The Quaternion Square Root Trick
- F.3 The a → b formula simplified
- F.4 Gram-Schmidt Spherical Interpolation
- F.5 Direct Solution for Spherical Interpolation
- F.6 Converting Linear Algebra to Quaternion Algebra
- F.7 Useful Tensor Methods and Identities
- F.7.1 Einstein Summation Convention
- F.7.2 Kronecker Delta
- F.7.3 Levi-Civita Symbol
- G QUATERNION PATH OPTIMIZATION USING SURFACE EVOLVER
- H QUATERNION FRAME INTEGRATION
- I HYPERSPHERICAL GEOMETRY
- I.1 Definitions
- I.2 Metric Properties
- A NOTATION
- REFERENCES
- INDEX
- Edition: 1
- Published: November 15, 2004
- Imprint: Morgan Kaufmann
- No. of pages: 600
- Language: English
- Hardback ISBN: 9780120884001
- Paperback ISBN: 9781483299884
- eBook ISBN: 9780080474779
SC
Steve Cunningham
Affiliations and expertise
California State University Stanislaus, U.S.A.AH
Andrew J. Hanson
Andrew J. Hanson Ph.D. is an Emeritus Professor of Computer Science at Indiana University. He earned a bachelor’s degree in Chemistry and Physics from Harvard University in 1966 and a PhD in Theoretical Physics from MIT under Kerson Huang in 1971. His interests range from general relativity to computer graphics, artificial intelligence, and bioinformatics; he is particularly concerned with applications of quaternions and with exploitation of higher-dimensional graphics for the visualization of complex scientific contexts such as Calabi-Yau spaces. He is the co-discoverer of the Eguchi-Hanson “gravitational instanton” Einstein metric (1978), author of Visualizing Quaternions (Elsevier, 2006), and designer of the iPhone Apps “4Dice” and “4DRoom” (2012) for interacting with four-dimensional virtual reality.
Affiliations and expertise
Emeritus Professor of Computer Science, Indiana University, IN, USA