Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010177504 | T385 V562 2008 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Geometric algebra (a Clifford Algebra) has been applied to different branches of physics for a long time but is now being adopted by the computer graphics community and is providing exciting new ways of solving 3D geometric problems.
John Vince (author of numerous books including 'Geometry for Computer Graphics' and 'Vector Analysis for Computer Graphics') has tackled this complex subject in his usual inimitable style, and provided an accessible and very readable introduction.
As well as putting geometric algebra into its historical context, John tackles complex numbers and quaternions; the nature of wedge product and geometric product; reflections and rotations (showing how geometric algebra can offer a powerful way of describing orientations of objects and virtual cameras); and how to implement lines, planes, volumes and intersections. Introductory chapters also look at algebraic axioms, vector algebra and geometric conventions and the book closes with a chapter on how the algebra is applied to computer graphics.
Table of Contents
Preface | p. vii |
1 Introduction | p. 1 |
1.1 Aims and objectives of this book | p. 1 |
1.2 Mathematics for CGI software | p. 1 |
1.3 The book's structure | p. 2 |
2 Elementary Algebra | p. 5 |
2.1 Introduction | p. 5 |
2.2 Numbers, variables and arithmetic operators | p. 6 |
2.3 Closure | p. 6 |
2.4 Identity element | p. 6 |
2.5 Inverse element | p. 7 |
2.6 The associative law | p. 8 |
2.7 The commutative law | p. 8 |
2.8 The distributive law | p. 8 |
2.9 Summary | p. 9 |
3 Complex Algebra | p. 11 |
3.1 Introduction | p. 11 |
3.2 Complex numbers | p. 11 |
3.3 Complex arithmetic | p. 12 |
3.4 The complex plane | p. 16 |
3.5 i as a rotor | p. 17 |
3.6 The product of two complex numbers | p. 18 |
3.7 Powers of complex numbers | p. 19 |
3.8 e, i, sin and cos | p. 19 |
3.9 Logarithm of a complex number | p. 21 |
3.10 Summary | p. 22 |
4 Vector Algebra | p. 23 |
4.1 Introduction | p. 23 |
4.2 Vector quantities and their graphical representation | p. 24 |
4.3 Vector spaces | p. 25 |
4.4 Linear combinations | p. 27 |
4.5 Spanning sets | p. 28 |
4.6 Linear independence and dependence | p. 29 |
4.7 Standard bases | p. 31 |
4.8 Orthogonal bases | p. 31 |
4.9 Dimension | p. 32 |
4.10 Subspaces | p. 32 |
4.11 Scalar product | p. 33 |
4.12 Vector product | p. 35 |
4.13 Summary | p. 37 |
5 Quaternion Algebra | p. 39 |
5.1 Introduction | p. 39 |
5.2 Adding quaternions | p. 41 |
5.3 The quaternion product | p. 42 |
5.4 The magnitude of a quaternion | p. 43 |
5.5 The unit quaternion | p. 43 |
5.6 The pure quaternion | p. 43 |
5.7 The conjugate of a quaternion | p. 44 |
5.8 The inverse quaternion | p. 44 |
5.9 Quaternion algebra | p. 45 |
5.10 Rotating vectors using quaternions | p. 46 |
5.11 Summary | p. 48 |
6 Geometric Conventions | p. 49 |
6.1 Introduction | p. 49 |
6.2 Clockwise and anticlockwise | p. 49 |
6.3 Left and right-handed axial systems | p. 52 |
6.4 Summary | p. 54 |
7 Geometric Algebra | p. 55 |
7.1 Introduction | p. 55 |
7.2 Foundations of geometric algebra | p. 56 |
7.3 Introduction to geometric algebra | p. 56 |
7.3.1 Length, area and volume | p. 56 |
7.4 The outer product | p. 58 |
7.4.1 Some algebraic properties | p. 59 |
7.4.2 Visualizing the outer product | p. 59 |
7.4.3 Orthogonal bases | p. 60 |
7.5 The outer product in action | p. 69 |
7.5.1 Area of a triangle | p. 70 |
7.5.2 The sine rule | p. 72 |
7.5.3 Intersection of two lines | p. 73 |
7.6 Summary | p. 77 |
8 The Geometric Product | p. 79 |
8.1 Introduction | p. 79 |
8.2 Clifford's definition of the geometric product | p. 80 |
8.2.1 Orthogonal vectors | p. 81 |
8.2.2 Linearly dependent vectors | p. 81 |
8.2.3 Linearly independent vectors | p. 82 |
8.2.4 The product of identical basis vectors | p. 84 |
8.2.5 The product of orthogonal basis vectors | p. 84 |
8.2.6 The imaginary properties of the outer product | p. 85 |
8.3 The unit bivector pseudoscalar | p. 85 |
8.3.1 The rotational properties of the pseudoscalar | p. 85 |
8.4 Summary of the products | p. 87 |
8.5 Multivectors in R[superscript 2] | p. 87 |
8.6 The relationship between bivectors, complex numbers and vectors | p. 89 |
8.7 Reversion | p. 90 |
8.8 Rotations in R[superscript 2] | p. 90 |
8.9 The vector-bivector product in R[superscript 2] | p. 91 |
8.10 Volumes and the trivector | p. 92 |
8.11 The unit trivector pseudoscalar | p. 94 |
8.12 The product of the unit basis vectors in R[superscript 3] | p. 96 |
8.12.1 The product of identical basis vectors | p. 96 |
8.12.2 The product of orthogonal basis vectors | p. 96 |
8.12.3 The imaginary properties of the unit bivectors | p. 97 |
8.13 The vector-unit bivector product in R[superscript 3] | p. 97 |
8.14 The vector-bivector product in R[superscript 3] | p. 100 |
8.15 Unit bivector-bivector products in R[superscript 3] | p. 106 |
8.16 Unit vector-trivector product in R[superscript 3] | p. 106 |
8.17 Unit bivector-trivector product in R[superscript 3] | p. 107 |
8.18 Unit trivector-trivector product in R[superscript 3] | p. 107 |
8.19 Higher products in R[superscript 3] | p. 108 |
8.20 Blades | p. 108 |
8.21 Duality transformation | p. 109 |
8.22 Summary of products in R[superscript 3] | p. 110 |
8.23 Multivectors in R[superscript 3] | p. 111 |
8.24 Relationship between vector algebra and geometric algebra | p. 113 |
8.25 Relationship between the outer product and the cross product | p. 114 |
8.26 Relationship between geometric algebra and quaternions | p. 116 |
8.27 Inverse of a vector | p. 118 |
8.28 The meet operation | p. 120 |
8.29 Summary | p. 122 |
9 Reflections and Rotations | p. 125 |
9.1 Introduction | p. 125 |
9.2 Reflections | p. 127 |
9.2.1 Reflecting vectors | p. 127 |
9.2.2 Reflecting bivectors | p. 129 |
9.2.3 Reflecting trivectors | p. 132 |
9.3 Rotations | p. 133 |
9.3.1 Rotating by double reflecting | p. 133 |
9.3.2 Rotors | p. 138 |
9.3.3 Rotor matrix | p. 141 |
9.3.4 Building rotors | p. 146 |
9.3.5 Interpolating rotors | p. 150 |
9.4 Summary | p. 153 |
10 Geometric Algebra and Geometry | p. 155 |
10.1 Introduction | p. 155 |
10.2 Point inside a triangle | p. 155 |
10.2.1 Point inside a 2D triangle | p. 155 |
10.2.2 Point inside a 3D triangle | p. 158 |
10.3 The relationship between bivectors and direction cosines | p. 162 |
10.4 Lines and planes | p. 166 |
10.4.1 Relative orientation of a point and a line | p. 166 |
10.4.2 Relative orientation of a point and a plane | p. 169 |
10.4.3 Shortest distance from a point to a plane | p. 171 |
10.4.4 A line intersecting a plane | p. 175 |
10.5 Perspective projection | p. 179 |
10.6 Back-face removal | p. 183 |
10.7 Homogeneous coordinates | p. 184 |
10.7.1 Introduction | p. 184 |
10.7.2 Representing 2D lines in 3D homogeneous space | p. 186 |
10.7.3 Intersection of two lines in R[superscript 2] | p. 192 |
10.7.4 Representing 3D lines in 4D homogeneous space | p. 195 |
10.7.5 Representing lines and planes in 4D homogeneous space | p. 196 |
10.8 Summary | p. 197 |
11 Conformal Geometry | p. 199 |
11.1 Introduction | p. 199 |
11.1.1 Spatial dimension | p. 199 |
11.1.2 Algebraic underpinning | p. 199 |
11.1.3 Mathematical language and notation | p. 200 |
11.1.4 Protection | p. 200 |
11.2 Stereographic projection | p. 201 |
11.3 Signatures and null vectors | p. 204 |
11.4 The basis blades for the conformal model | p. 209 |
11.5 Representing geometric objects | p. 210 |
11.5.1 Points | p. 210 |
11.5.2 Point pair | p. 211 |
11.5.3 Lines | p. 212 |
11.5.4 Circles | p. 213 |
11.5.5 Planes | p. 216 |
11.5.6 Spheres | p. 217 |
11.6 Conformal transformations | p. 218 |
11.6.1 Translations | p. 218 |
11.6.2 Rotations | p. 221 |
11.6.3 Dilations | p. 224 |
11.6.4 Reflections | p. 226 |
11.6.5 Intersections | p. 230 |
11.7 Summary | p. 230 |
12 Applications of Geometric Algebra | p. 231 |
12.1 Introduction | p. 231 |
12.2 3D Linear transformations | p. 231 |
12.2.1 Scale transform | p. 234 |
12.2.2 Refraction transform | p. 235 |
12.3 Rigid-body pose control | p. 238 |
12.4 Ray tracing | p. 240 |
12.5 Summary | p. 240 |
13 Programming Tools for Geometric Algebra | p. 241 |
13.1 Introduction | p. 241 |
13.2 Programming implications | p. 241 |
13.3 Programming tools | p. 242 |
13.4 Summary | p. 242 |
14 Conclusion | p. 243 |
References | p. 245 |
Index | p. 249 |