# Visualizing Quaternions

### Andrew J. Hanson

• 出版商:
• 出版日期: 2005-12-29
• 售價: \$3,150
• 貴賓價: 9.5\$2,993
• 語言: 英文
• 頁數: 530
• 裝訂: Hardcover
• ISBN: 0120884003
• ISBN-13: 9780120884001

# Description

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 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.

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

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

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

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

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.2 The Details
12.3 Frame-sequence Visualization Methods
12.3.1 One Rotation
12.3.2 Two Rotations
12.3.3 Synopsis

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

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

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

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

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

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.1 3D Rotations of Quaternion Displays
24.4.2 Probing Quaternion Frames with 4D Light

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.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

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

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

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

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

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 ab 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

REFERENCES
INDEX