Skip to:Content
|
Bottom
Cover image for Geometric algebra for computer graphics
Title:
Geometric algebra for computer graphics
Personal Author:
Publication Information:
London : Springer-Verlag, 2008
Physical Description:
xvi, 252 p. : ill. ; 25 cm.
ISBN:
9781846289965

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

Prefacep. vii
1 Introductionp. 1
1.1 Aims and objectives of this bookp. 1
1.2 Mathematics for CGI softwarep. 1
1.3 The book's structurep. 2
2 Elementary Algebrap. 5
2.1 Introductionp. 5
2.2 Numbers, variables and arithmetic operatorsp. 6
2.3 Closurep. 6
2.4 Identity elementp. 6
2.5 Inverse elementp. 7
2.6 The associative lawp. 8
2.7 The commutative lawp. 8
2.8 The distributive lawp. 8
2.9 Summaryp. 9
3 Complex Algebrap. 11
3.1 Introductionp. 11
3.2 Complex numbersp. 11
3.3 Complex arithmeticp. 12
3.4 The complex planep. 16
3.5 i as a rotorp. 17
3.6 The product of two complex numbersp. 18
3.7 Powers of complex numbersp. 19
3.8 e, i, sin and cosp. 19
3.9 Logarithm of a complex numberp. 21
3.10 Summaryp. 22
4 Vector Algebrap. 23
4.1 Introductionp. 23
4.2 Vector quantities and their graphical representationp. 24
4.3 Vector spacesp. 25
4.4 Linear combinationsp. 27
4.5 Spanning setsp. 28
4.6 Linear independence and dependencep. 29
4.7 Standard basesp. 31
4.8 Orthogonal basesp. 31
4.9 Dimensionp. 32
4.10 Subspacesp. 32
4.11 Scalar productp. 33
4.12 Vector productp. 35
4.13 Summaryp. 37
5 Quaternion Algebrap. 39
5.1 Introductionp. 39
5.2 Adding quaternionsp. 41
5.3 The quaternion productp. 42
5.4 The magnitude of a quaternionp. 43
5.5 The unit quaternionp. 43
5.6 The pure quaternionp. 43
5.7 The conjugate of a quaternionp. 44
5.8 The inverse quaternionp. 44
5.9 Quaternion algebrap. 45
5.10 Rotating vectors using quaternionsp. 46
5.11 Summaryp. 48
6 Geometric Conventionsp. 49
6.1 Introductionp. 49
6.2 Clockwise and anticlockwisep. 49
6.3 Left and right-handed axial systemsp. 52
6.4 Summaryp. 54
7 Geometric Algebrap. 55
7.1 Introductionp. 55
7.2 Foundations of geometric algebrap. 56
7.3 Introduction to geometric algebrap. 56
7.3.1 Length, area and volumep. 56
7.4 The outer productp. 58
7.4.1 Some algebraic propertiesp. 59
7.4.2 Visualizing the outer productp. 59
7.4.3 Orthogonal basesp. 60
7.5 The outer product in actionp. 69
7.5.1 Area of a trianglep. 70
7.5.2 The sine rulep. 72
7.5.3 Intersection of two linesp. 73
7.6 Summaryp. 77
8 The Geometric Productp. 79
8.1 Introductionp. 79
8.2 Clifford's definition of the geometric productp. 80
8.2.1 Orthogonal vectorsp. 81
8.2.2 Linearly dependent vectorsp. 81
8.2.3 Linearly independent vectorsp. 82
8.2.4 The product of identical basis vectorsp. 84
8.2.5 The product of orthogonal basis vectorsp. 84
8.2.6 The imaginary properties of the outer productp. 85
8.3 The unit bivector pseudoscalarp. 85
8.3.1 The rotational properties of the pseudoscalarp. 85
8.4 Summary of the productsp. 87
8.5 Multivectors in R[superscript 2]p. 87
8.6 The relationship between bivectors, complex numbers and vectorsp. 89
8.7 Reversionp. 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 trivectorp. 92
8.11 The unit trivector pseudoscalarp. 94
8.12 The product of the unit basis vectors in R[superscript 3]p. 96
8.12.1 The product of identical basis vectorsp. 96
8.12.2 The product of orthogonal basis vectorsp. 96
8.12.3 The imaginary properties of the unit bivectorsp. 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 Bladesp. 108
8.21 Duality transformationp. 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 algebrap. 113
8.25 Relationship between the outer product and the cross productp. 114
8.26 Relationship between geometric algebra and quaternionsp. 116
8.27 Inverse of a vectorp. 118
8.28 The meet operationp. 120
8.29 Summaryp. 122
9 Reflections and Rotationsp. 125
9.1 Introductionp. 125
9.2 Reflectionsp. 127
9.2.1 Reflecting vectorsp. 127
9.2.2 Reflecting bivectorsp. 129
9.2.3 Reflecting trivectorsp. 132
9.3 Rotationsp. 133
9.3.1 Rotating by double reflectingp. 133
9.3.2 Rotorsp. 138
9.3.3 Rotor matrixp. 141
9.3.4 Building rotorsp. 146
9.3.5 Interpolating rotorsp. 150
9.4 Summaryp. 153
10 Geometric Algebra and Geometryp. 155
10.1 Introductionp. 155
10.2 Point inside a trianglep. 155
10.2.1 Point inside a 2D trianglep. 155
10.2.2 Point inside a 3D trianglep. 158
10.3 The relationship between bivectors and direction cosinesp. 162
10.4 Lines and planesp. 166
10.4.1 Relative orientation of a point and a linep. 166
10.4.2 Relative orientation of a point and a planep. 169
10.4.3 Shortest distance from a point to a planep. 171
10.4.4 A line intersecting a planep. 175
10.5 Perspective projectionp. 179
10.6 Back-face removalp. 183
10.7 Homogeneous coordinatesp. 184
10.7.1 Introductionp. 184
10.7.2 Representing 2D lines in 3D homogeneous spacep. 186
10.7.3 Intersection of two lines in R[superscript 2]p. 192
10.7.4 Representing 3D lines in 4D homogeneous spacep. 195
10.7.5 Representing lines and planes in 4D homogeneous spacep. 196
10.8 Summaryp. 197
11 Conformal Geometryp. 199
11.1 Introductionp. 199
11.1.1 Spatial dimensionp. 199
11.1.2 Algebraic underpinningp. 199
11.1.3 Mathematical language and notationp. 200
11.1.4 Protectionp. 200
11.2 Stereographic projectionp. 201
11.3 Signatures and null vectorsp. 204
11.4 The basis blades for the conformal modelp. 209
11.5 Representing geometric objectsp. 210
11.5.1 Pointsp. 210
11.5.2 Point pairp. 211
11.5.3 Linesp. 212
11.5.4 Circlesp. 213
11.5.5 Planesp. 216
11.5.6 Spheresp. 217
11.6 Conformal transformationsp. 218
11.6.1 Translationsp. 218
11.6.2 Rotationsp. 221
11.6.3 Dilationsp. 224
11.6.4 Reflectionsp. 226
11.6.5 Intersectionsp. 230
11.7 Summaryp. 230
12 Applications of Geometric Algebrap. 231
12.1 Introductionp. 231
12.2 3D Linear transformationsp. 231
12.2.1 Scale transformp. 234
12.2.2 Refraction transformp. 235
12.3 Rigid-body pose controlp. 238
12.4 Ray tracingp. 240
12.5 Summaryp. 240
13 Programming Tools for Geometric Algebrap. 241
13.1 Introductionp. 241
13.2 Programming implicationsp. 241
13.3 Programming toolsp. 242
13.4 Summaryp. 242
14 Conclusionp. 243
Referencesp. 245
Indexp. 249
Go to:Top of Page