Geometric Algebra: A Computational Framework for Geometrical Applications

Similar documents
DEFINITION OF ASSOCIATIVE OR DIRECT PRODUCT AND ROTATION OF VECTORS

Chapter 4 Contravariance, Covariance, and Spacetime Diagrams

Math 520 Final Exam Topic Outline Sections 1 3 (Xiao/Dumas/Liaw) Spring 2008

Things to Memorize: A Partial List. January 27, 2017

Geometric Algebra: A Computational Framework For Geometrical Applications

How do we solve these things, especially when they get complicated? How do we know when a system has a solution, and when is it unique?

NOTES ON HILBERT SPACE

MATH34032: Green s Functions, Integral Equations and the Calculus of Variations 1

Numerical Linear Algebra Assignment 008

Here we study square linear systems and properties of their coefficient matrices as they relate to the solution set of the linear system.

Analytically, vectors will be represented by lowercase bold-face Latin letters, e.g. a, r, q.

13.3 CLASSICAL STRAIGHTEDGE AND COMPASS CONSTRUCTIONS

Geometric algebra: a computational framework for geometrical applications (part I: algebra)

The Algebra (al-jabr) of Matrices

Bernoulli Numbers Jeff Morton

20 MATHEMATICS POLYNOMIALS

The First Fundamental Theorem of Calculus. If f(x) is continuous on [a, b] and F (x) is any antiderivative. f(x) dx = F (b) F (a).

7.2 The Definite Integral

2. VECTORS AND MATRICES IN 3 DIMENSIONS

and that at t = 0 the object is at position 5. Find the position of the object at t = 2.

Line and Surface Integrals: An Intuitive Understanding

Chapter 3. Vector Spaces

Week 10: Line Integrals

How do we solve these things, especially when they get complicated? How do we know when a system has a solution, and when is it unique?

Vectors , (0,0). 5. A vector is commonly denoted by putting an arrow above its symbol, as in the picture above. Here are some 3-dimensional vectors:

The Regulated and Riemann Integrals

Math 8 Winter 2015 Applications of Integration

Math 1B, lecture 4: Error bounds for numerical methods

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics

Bases for Vector Spaces

Chapter 2. Vectors. 2.1 Vectors Scalars and Vectors

Properties of Integrals, Indefinite Integrals. Goals: Definition of the Definite Integral Integral Calculations using Antiderivatives

4 VECTORS. 4.0 Introduction. Objectives. Activity 1

Chapter 14. Matrix Representations of Linear Transformations

Quadratic Forms. Quadratic Forms

Lecture Note 9: Orthogonal Reduction

Math 32B Discussion Session Session 7 Notes August 28, 2018

set is not closed under matrix [ multiplication, ] and does not form a group.

Improper Integrals, and Differential Equations

NUMERICAL INTEGRATION. The inverse process to differentiation in calculus is integration. Mathematically, integration is represented by.

UNIFORM CONVERGENCE. Contents 1. Uniform Convergence 1 2. Properties of uniform convergence 3

1 Linear Least Squares

HW3, Math 307. CSUF. Spring 2007.

ODE: Existence and Uniqueness of a Solution

Review of basic calculus

Linearity, linear operators, and self adjoint eigenvalue problems

Goals: Determine how to calculate the area described by a function. Define the definite integral. Explore the relationship between the definite

Natural examples of rings are the ring of integers, a ring of polynomials in one variable, the ring

Best Approximation. Chapter The General Case

Semigroup of generalized inverses of matrices

Introduction to Group Theory

Recitation 3: More Applications of the Derivative

PHYS 4390: GENERAL RELATIVITY LECTURE 6: TENSOR CALCULUS

Elementary Linear Algebra

Overview of Calculus I

Chapter 5. , r = r 1 r 2 (1) µ = m 1 m 2. r, r 2 = R µ m 2. R(m 1 + m 2 ) + m 2 r = r 1. m 2. r = r 1. R + µ m 1

Chapter 0. What is the Lebesgue integral about?

Lecture 2: Fields, Formally

THE DISCRIMINANT & ITS APPLICATIONS

Abstract inner product spaces

Theoretical foundations of Gaussian quadrature

Section 6.1 INTRO to LAPLACE TRANSFORMS

ECON 331 Lecture Notes: Ch 4 and Ch 5

p-adic Egyptian Fractions

Math 270A: Numerical Linear Algebra

Riemann Sums and Riemann Integrals

How can we approximate the area of a region in the plane? What is an interpretation of the area under the graph of a velocity function?

ARITHMETIC OPERATIONS. The real numbers have the following properties: a b c ab ac

Lecture 19: Continuous Least Squares Approximation

Review of Gaussian Quadrature method

Intermediate Math Circles Wednesday, November 14, 2018 Finite Automata II. Nickolas Rollick a b b. a b 4

SUMMER KNOWHOW STUDY AND LEARNING CENTRE

Riemann Sums and Riemann Integrals

Handout: Natural deduction for first order logic

Operations with Polynomials

To Do. Vectors. Motivation and Outline. Vector Addition. Cartesian Coordinates. Foundations of Computer Graphics (Spring 2010) x y

Review of Calculus, cont d

Math Solutions to homework 1

First midterm topics Second midterm topics End of quarter topics. Math 3B Review. Steve. 18 March 2009

Basics of space and vectors. Points and distance. Vectors

ACCESS TO SCIENCE, ENGINEERING AND AGRICULTURE: MATHEMATICS 1 MATH00030 SEMESTER /2019

Infinite Geometric Series

Is there an easy way to find examples of such triples? Why yes! Just look at an ordinary multiplication table to find them!

g i fφdx dx = x i i=1 is a Hilbert space. We shall, henceforth, abuse notation and write g i f(x) = f

Numerical integration

Duality # Second iteration for HW problem. Recall our LP example problem we have been working on, in equality form, is given below.

13: Diffusion in 2 Energy Groups

Partial Derivatives. Limits. For a single variable function f (x), the limit lim

Lecture 1. Functional series. Pointwise and uniform convergence.

LECTURE. INTEGRATION AND ANTIDERIVATIVE.

Chapter 3 Polynomials

DEFINITION The inner product of two functions f 1 and f 2 on an interval [a, b] is the number. ( f 1, f 2 ) b DEFINITION 11.1.

Jim Lambers MAT 169 Fall Semester Lecture 4 Notes

W. We shall do so one by one, starting with I 1, and we shall do it greedily, trying

CMDA 4604: Intermediate Topics in Mathematical Modeling Lecture 19: Interpolation and Quadrature

New Expansion and Infinite Series

We partition C into n small arcs by forming a partition of [a, b] by picking s i as follows: a = s 0 < s 1 < < s n = b.

Hilbert Spaces. Chapter Inner product spaces

Matrices. Elementary Matrix Theory. Definition of a Matrix. Matrix Elements:

Main topics for the First Midterm

Transcription:

Tutoril Geometric Algebr: A Computtionl Frmework for Geometricl Applictions Prt 1 The trditionl method of defining geometricl objects in fields like computer grphics, robotics, nd computer vision routinely uses vectors to chrcterize constructions. Doing this effectively mens extending the bsic concept of vector s n element of liner spce by n inner product nd cross product nd by some dditionl constructions such s homogeneous coordintes. This compctly encodes the intersection In geometric lgebr, you of, for instnce, offset plnes in spce. Mny of these techniques cn compute directly with work well in 3D spce, but some problems exist, such s the difference subspces, which simplifies between vectors nd points 1 nd chrcterizing plnes by norml vectors (which my require extr com- mny geometricl puttion fter liner trnsformtions opertions. This two-prt becuse trnsformed plne s norml vector is not the norml vector s tutoril gives brief trnsform). Appliction progrmmers typiclly fix these problems by introduction to the introducing dt structures nd combintion rules, possibly using objectoriented progrmming to implement principles. this ptch. 2 Yet, deeper issues in progrmming geometry exist tht mny prctitioners still ccept. For instnce, when intersecting liner subspces, it seems unvoidble tht we need to split our intersection lgorithms to tret the intersection of lines nd plnes, plnes nd plnes, lines nd lines, nd so on in seprte pieces of code. After ll, the outcomes themselves cn be points, lines, or plnes, which re essentilly different in their further processing. This need not be so. If we could see subspces s bsic computtionl elements nd do direct lgebr with them, then lgorithms nd their implementtion would not need to split their cses on dimensionlity. For instnce, A B could be the subspce spnned by the Leo Dorst University of Amsterdm Stephen Mnn University of Wterloo spces A nd B, nd the expression A B could be the prt of B perpendiculr to A. Then, we would lwys hve the computtion rule (A B) C = A (B C) becuse we cn compute the prt of C perpendiculr to the spn of A nd B in two steps: perpendiculrity to B followed by perpendiculrity to A. Subspces therefore hve computtionl rules of their own tht we cn use immeditely, independent of how mny vectors we use to spn them. In this view, we cn void the split in cses for the intersection opertor becuse intersection of subspces lwys leds to subspces. We should consider using this structure becuse it would enormously simplify the specifiction of geometric progrms. This rticle (in prts one nd two) intends to convince you tht subspces form n lgebr with well-defined products tht hve direct geometric significnce. Reserchers cn then use this lgebr s lnguge for geometry, which we clim is better choice thn lnguge lwys reducing everything to vectors (which re just 1D subspces). Along the wy, we will see tht this frmework lets us divide by vectors (in fct, we cn divide by ny subspce), nd we will see severl fmilir computer grphics constructs (such s quternions, normls, nd Plücker coordintes) tht fold in nturlly with the frmework nd no longer need to be considered clever but s extrneous tricks. This lgebr is clled geometric lgebr. Mthemticlly, it is like Clifford lgebr but crefully wielded to hve cler geometricl interprettion, which excludes some constructions nd suggests others. Most literture uses the two terms interchngebly. This first rticle primrily introduces subspces (the bsic computtionl element in geometric lgebr) nd the products of geometric lgebr. We introduce these ides but do not lwys give proofs of wht we present. The proofs we do give re intended to illustrte using geometric lgebr. (Reders cn find the missing proofs in the references.) In prt two of this rticle (to be published in subsequent issue of CG&A), we will give some 24 My/June 2002 0272-1716/02/$17.00 2002 IEEE

exmples of how to use these products in elementry but importnt wys nd look t more dvnced topics such s differentition, liner lgebr, nd homogeneous representtion spces. Becuse subspces re the min objects of geometric lgebr, we introduce them first. We then introduce the geometric product nd look t products derived from the geometric product. Some of the derived products, like the inner nd outer products, re so bsic tht it is nturl to tret them here lso, even though the geometric product is ll we need to do geometric lgebr. Other products re better introduced in the context of their geometricl mening, so we develop them in prt two. This pproch reduces the mount of new nottion, but it might mke it seem like geometric lgebr must invent new technique for every new kind of geometricl opertion we wnt to embed. This is not the cse. All you need is the geometric product nd its (nti-)commuttion properties. Subspces s computtionl elements As in the clssicl pproch, we strt with rel vector spce V m tht we use to denote 1D directed mgnitudes. Typicl usge would be to employ vector to denote trnsltion in such spce to estblish the loction of point of interest. (Points re not vectors, but their loctions reltive to fixed point re. 1 ) We now wnt to extend this cpbility of indicting directed mgnitudes to higher dimensionl directions such s fcets of objects, or tngent plnes. We will strt with the simplest subspces liner vector spce s proper subspces, which re lines, plnes, nd so on through the origin nd develop their lgebr of spnning nd perpendiculrity mesures. In prt two, we show how to use the sme lgebr to tret offset subspces nd spheres. Constructing subspces We strt with rel m-dimensionl liner spce V m, of which the elements re clled vectors. Mny pproches to geometry explicitly use coordintes. Although coordintes re necessry for input nd output, nd they re lso needed to perform low-level opertions on objects, most formuls nd computtions in geometric lgebr cn work directly on subspces without resorting to coordintes. Thus, we will lwys view vectors geometriclly: vector denotes 1D direction element, with certin ttitude or stnce in spce, nd mgnitude, mesure of length in tht direction. We cn chrcterize these properties by clling vector directed line element, s long s we mentlly ssocite n orienttion nd mgnitude with it tht is, v is not the sme s v or 2v. These properties re independent of ny coordinte system, nd we will not refer to coordintes, except for times when we feel coordinte exmple clrifies n explntion. The lgebric properties of these geometricl vectors re tht they cn be dded nd weighted with rel coefficients in the usul wy to produce new vectors, nd they cn be multiplied using n inner product to produce sclr b. (We use metric vector spce with welldefined inner product.) In geometric lgebr, higher dimensionl oriented α () (b) (c) (d) subspces re lso bsic computtionl elements nd they re clled bldes. We use the term k-blde for k- dimensionl homogeneous subspce. Therefore, vector is 1-blde. A common wy to construct blde is from vectors, using product tht constructs the spn of vectors. This product is clled the outer product (sometimes the wedge product) nd denoted. It is codified by its lgebric properties, which we choose to ensure we get m- dimensionl spce elements with n pproprite mgnitude (re element for m = 2 nd volume elements for m = 3, see Figure 1). As in liner lgebr, such mgnitudes re determinnts of mtrices representing the bsis of vectors spnning them. But such definition would be too specificlly dependent on tht mtrix representtion. Mthemticlly, determinnt is n ntisymmetric liner sclr-vlued function of its vector rguments. Tht gives the clue to the outer product s rther bstrct definition in geometric lgebr: The outer product of vectors 1,, k is ntisymmetric, ssocitive, nd liner in its rguments. It is denoted 1 k, nd clled k-blde. The only thing tht is different from determinnt is tht the outer product is not forced to be sclr-vlued. This gives it the cpbility of representing the ttitude of k- dimensionl subspce element s well s its mgnitude. 2-bldes in 3D spce Let us see how this works in the geometric lgebr of 3D spce V 3. For convenience, let us choose bsis {e 1, e 2, e 3} in this spce, reltive to which we denote ny vector. Now compute b for = 1e 1 + 2e 2 + 3e 3 nd b = b 1e 1 + b 2e 2 + b 3e 3. By linerity, we cn write this s the sum of six terms of the form 1b 2 e 1 e 2 or 1b 1 e 1 e 1. By ntisymmetry, the outer product of ny vector with itself must be zero, so the term with 1b 1 e 1 e 1 nd other similr terms dispper. Also by ntisymmetry, e 2 e 1 = e 1 e 2, so we cn group some terms. You cn verify tht the finl result is b= ( 1e1+ 2e2+ 3e3) ( b1e1+ b2e2+ b3e3) = ( b 1 2 b 2 1) e1 e2+ ( b 2 3 b 3 2) e2 e3 + ( b b) e e (1) 3 1 1 3 3 1 b ^b ^ b ^ c 1 With the outer product of vectors, you cn spn subspces. () Zero terms give 0D subspce ( point). (b) One term gives 1D subspce ( vector). (c) Two terms give 2D subspce, n oriented plne element. (d) Three terms spn n oriented volume element. b c IEEE Computer Grphics nd Applictions 25

Tutoril We cnnot simplify this further. Apprently, the outer product s xioms let us decompose ny 2-blde in 3D spce onto bsis of three elements. This 2-blde bsis (lso clled bivector bsis) {e 1 e 2, e 2 e 3, e 3 e 1} consists of 2-bldes spnned by the bsis vectors. Linerity of the outer product implies tht the set of 2- bldes forms liner spce on this bsis. We will interpret this s the spce of ll plne elements (or re elements). Let us show tht b hs the correct mgnitude for n re element. Tht is prticulrly cler if we choose specific orthonorml bsis {e 1, e 2, e 3}, chosen such tht lies in the e 1 direction nd b lies in the (e 1, e 2) plne we cn lwys do this. Then, = e 1, b = b cosφ e 1 + b sinφ e 2 (with φ the ngle from to b), so tht b = (b sinφ) e 1 e 2 (2) This single result contins both the correct mgnitude of the re b sinφ spnned by nd b nd the plne in which it resides for we recognize e 1 e 2 s the unit directed re element of the (e 1, e 2) plne. Becuse we cn lwys dpt our coordintes to vectors in this wy, this result is universlly vlid: b is n re element of the plne spnned by nd b (see Figure 1c). Denoting the unit re element in the (, b) plne by I, the coordinte-free formultion is b = (b sinφ) I (3) The result extends to bldes of higher grdes. Ech is proportionl to the unit hypervolume element in its subspce, by fctor tht is the hypervolume. Volumes s 3-bldes We cn lso form the outer product of three vectors, b, nd c. Considering ech of those decomposed onto their three components on some bsis in our 3D spce, we obtin terms of three different types, depending on how mny common components occur for exmple, terms like 1b 1c 1 e 1 e 1 e 1, 1b 1c 2 e 1 e 1 e 2, nd 1b 2c 3 e 1 e 2 e 3. Becuse of ssocitivity nd ntisymmetry, only the lst type survives in ll its permuttions. The finl result is ( b c= bc bc + bc 1 2 3 1 3 2 2 1 3 bc + bc bc) e e e 2 3 1 3 1 2 3 2 1 1 2 3 The sclr fctor is the determinnt of the mtrix with columns, b, nd c, which is proportionl to the signed volume spnned by them (s is well known from liner lgebr). The term e 1 e 2 e 3 is the denottion of which volume is used s unit tht spnned by e 1, e 2, e 3. The order of the vectors gives its orienttion, so this is signed volume. In 3D spce, there is no other choice for constructing volumes thn (possibly negtive) multiples of this volume (see Figure 1d). However, in higher dimensionl spces, the volume element s ttitude must be indicted just s much s we needed to denote the ttitude of plnes in 3-spce. Pseudosclr s hypervolume Forming the outer product of four vectors b c d in 3D spce will lwys produce zero becuse they must be linerly dependent. The highest order blde tht is nonzero in n m-dimensionl spce is n m-blde. For historicl resons, such blde representing n m- dimensionl volume element is clled pseudosclr for tht spce. Unfortuntely, this is rther bstrct term for the elementry geometric concept of n oriented hypervolume element. Sclrs s subspces To mke sclrs fully dmissible elements of the lgebr we hve so fr, we cn define the outer product of two sclrs, nd sclr nd vector, by identifying it with the fmilir sclr product in the vector spce we strted with: α β= αβ nd α v = αv. Becuse the sclrs re constructed by the outer product of no vectors t ll, we cn interpret them geometriclly s the representtion of 0-dimensionl subspce elements. These re like points with msses. So sclrs re geometricl entities s well, if we re willing to stretch the mening of subspce little. We denote sclrs mostly with Greek lowercse letters. Liner spce of subspces So fr, we hve constructed geometriclly significnt lgebr contining only two opertions: the ddition + nd the outer multipliction (subsuming the usul sclr multipliction). Strting from sclrs nd 3D vector spce, we hve generted 3D spce of 2- bldes nd 1D spce of 3-bldes (becuse ll volumes re proportionl to ech other). In totl, therefore, we hve set of elements tht nturlly group by their dimensionlity. Choosing some bsis {e 1, e 2, e 3}, we cn write wht we hve s spnned by the set, e, e, e, 1{ 1 2 3 12 4 34 sclrs vector spce e e2, e2 e3, e 1444424444 3 e 31, e 1 e 42 e 43 bivector spce trivector spce (4) Every k-blde formed by cn be decomposed on the k-vector bsis using +. The dimensionlity k is often clled the grde or step of the k-blde or k-vector, reserving the term dimension for the vector spce tht generted them. A k-blde represents k-dimensionl oriented subspce element. If we llow the sclr-weighted ddition of rbitrry elements in this set of bsis bldes, we get n 8D liner spce from the originl 3D vector spce. This spce, with + nd s opertions, is clled the Grssmnn lgebr of 3-spce. In n m-dimensionl spce, there re ( m k ) bsis elements of grde k, for totl bsis of 2 m elements for the Grssmnn lgebr. We use the sme bsis for the spce s geometric lgebr, lthough we will construct the objects in it differently. Products of geometric lgebr The geometric product is the most importnt product of geometric lgebr. The fct tht we cn pply the 26 My/June 2002

geometric product to k-bldes nd tht it hs n inverse considerbly extends lgebric techniques for solving geometricl problems. We cn use the geometric product to derive other meningful products. The most elementry re the inner nd outer products. We tret the useful but less elementry products giving reflections, rottions, nd intersection lter on in this rticle nd in more detil in prt two. x. fixed x Geometric product For vectors in our metric vector spce V m, we define the geometric product in terms of the inner nd outer product s b b + b (5) So the geometric product of two vectors is n element of mixed grde; it hs sclr (0-blde) prt b nd 2-blde prt b. Therefore, it is not blde; rther, it is n opertor on bldes. Chnging the order of nd b gives b b + b = b b The geometric product of two vectors is therefore neither fully symmetric (unlike the inner product) nor fully ntisymmetric (unlike the outer product). However, the geometric product is invertible. A simple drwing might convince you tht the geometric product is invertible, wheres the inner nd outer product seprtely re not. In Figure 2, we hve given vector. We indicte the set of vectors x with the sme vlue of the inner product x this is plne perpendiculr to. We lso show the set of ll vectors with the sme vlue of the outer product x this is the line of ll points tht spn the sme directed re with (becuse for the position vector of ny point p = x + λ on tht line, we hve p = x + λ = x by the ntisymmetry property). Neither of these sets is singleton (in spces of more thn one dimension), so the inner nd outer products re not fully invertible. The geometric product provides both the plne nd the line nd lets us determine their unique intersection x, s Figure 2 illustrtes. The geometric product then is thus invertible from x nd, we cn retrieve x. Eqution 5 defines the geometric product only for vectors. For rbitrry elements of our lgebr, it is defined using linerity, ssocitivity, nd distributivity over ddition. We mke it coincide with the usul sclr product in the vector spce, s the nottion lredy suggests. Tht gives the following xioms (where α nd β re sclrs; x is vector; nd A, B, nd C re generl elements of the lgebr): Sclrs α β nd αx hve their usul mening in V m (6) Sclrs commute α A = A α (7) Vectors x = x + x (8) Associtivity A(BC) = (AB)C (9) x^ fixed 2 Invertibility of the geometric product. The inner product determines plne, the outer product determines line, but the geometric product determines unique vector nd is therefore invertible. We hve thus defined the geometric product in terms of the inner nd outer product, but we climed tht it is more fundmentl thn either. Mthemticlly, it is more elegnt to replce Eqution 8 with the squre of vector x is sclr Q(x). We cn then ctully interpret this function Q s the metric of the spce, the sme s the one we used in the inner product, nd it gives the sme geometric lgebr. 3 Our choice for Eqution 8 ws to define the new product in terms of more fmilir quntities, to id intuitive understnding of it. Let us show by exmple how we cn use these rules to develop the geometric lgebr of 3D Eucliden spce. We introduce, for convenience only, n orthonorml bsis {e i} 3 i=1. Becuse this implies tht e i e j = δ ij, we get the commuttion rules ee i j ee j i i j = if 1 if i= j (10) In fct, the former is equl to e i e j, wheres the ltter equls e i e i. Considering the unit 2-blde e i e j, we find its squre: 2 ( i j) = ( i j) ( i j) = ( i j) ( i j) e e e e e e ee ee = eeee = eeee = 1 i j i j i i j j (11) So unit 2-blde squres to 1. Continued ppliction of Eqution 10 gives the full multipliction for ll bsis elements in the Clifford lgebr of 3D spce. The resulting multipliction tble is in Tble 1 (next pge). We cn express rbitrry elements s liner combintion of these bsis elements, so Tble 1 determines the full lgebr. Exponentil representtion. Note tht the geometric product is sensitive to the vectors reltive directions. For prllel vectors nd b, the outer product contribution is zero, nd b is sclr nd commuttive in its fctors. For perpendiculr vectors, b is 2- blde nd nticommuttive. In generl, if the ngle between nd b is φ in their common plne with unit 2- blde I, we cn write (in Eucliden spce) ( ) b = b + b = b cosφ+ Isinφ (12) IEEE Computer Grphics nd Applictions 27

Tutoril Tble 1. The multipliction tble of the geometric lgebr of 3D Eucliden spce, on n orthonorml bsis. (For shorthnd, e 12 e 1 e 2 nd so forth.) 1 e 1 e 2 e 3 e 12 e 31 e 23 e 123 1 1 e 1 e 2 e 3 e 12 e 31 e 23 e 123 e 1 e 1 1 e 12 e 31 e 2 e 3 e 123 e 23 e 2 e 2 e 12 1 e 23 e 1 e 123 e 3 e 31 e 3 e 3 e 31 e 23 1 e 123 e 1 e 2 e 12 e 12 e 12 e 2 e 1 e 123 1 e 23 e 31 e 3 e 31 e 31 e 3 e 123 e 1 e 23 1 e 12 e 2 e 23 e 23 e 123 e 3 e 2 e 31 e 12 1 e 1 e 123 e 123 e 23 e 31 e 12 e 3 e 2 e 1 1 using common rewriting of the inner product nd Eqution 3. We hve lredy seen tht II = 1, nd this permits the shorthnd of the exponentil nottion (by the usul definition of the exponentil s converging series of terms): (13) All this might remind you of complex numbers, but it is different. First, geometric lgebr hs given strightforwrd rel geometricl interprettion of ll elements occurring in this eqution, notbly of I s the unit re element of the common plne of nd b. Second, the mth differs. If I were complex sclr, it would hve to commute with ll elements of the lgebr by Eqution 7, but insted, it stisfies I = I for vectors in the I plne. We will use the exponentil nottion lot when we study rottions in prt two. Mny grdes in the geometric product. Eqution 8 implies tht the geometric product of vector with itself is sclr. Therefore, when you multiply two bldes, the vectors in them my multiply to sclr (if they re prllel) or to 2-blde (if they re not). As consequence, when you multiply two bldes of grde k nd l using the geometric product, the result potentilly contins prts of ll grdes (k + l), (k + l 2),, ( k l +2), k l, depending on how their fctors lign. This series of terms contins ll informtion bout the geometricl reltionships of the bldes their spn, intersection, reltive orienttion, nd so on. Inner product of bldes In geometric lgebr, we cn see the stndrd inner product of two vectors s the symmetricl prt of their geometric product: becuse the projection of A onto B hs the sme grde s A, nd its complement in B is the codimension of this projection in the subspce spnned by B. Becuse no sub- 1 b = b + b 2 ( ) = b = b cosφ+ Isinφ b e I ( ) Just s in the usul definition, this embodies the metric of the vector spce, nd we cn use it to define distnces. It lso codifies the perpendiculrity required in projection opertors. Now tht we view vectors s representtives of 1D subspces, we wnt to extend this metric cpbility to rbitrry subspces. We cn generlize the inner product to generl subspces in severl wys. Lounesto 3 nd Dorst 4 φ explin the mthemticlly most tidy method. This is the contrction inner product (denoted ), which hs clen geometric mening. In this intuitive introduction, we prefer to give the geometric mening first: A B is blde representing the complement (within the subspce B) of the orthogonl projection of A onto B. It is liner in A nd B, nd it coincides with the usul inner product b of V m when computed for vectors nd b. This sttement determines our inner product uniquely. (The resulting contrction inner product differs slightly from the inner product commonly used in the geometric lgebr literture. The contrction inner product hs clener geometric semntics nd more compct mthemticl properties, which mkes it better suited to computer science. We cn express the two inner products in terms of ech other, so this is not severely divisive issue. They codify the sme geometric concepts, in just slightly different wys.) The contrction inner product turns out not to be symmetricl or ssocitive. But we do demnd linerity to mke it computble between ny two elements in our liner spce (not just bldes). Note tht erlier on we used only the inner product between vectors b, which we would now write s b. Here, we just give the rules for computing the resulting inner product for rbitrry bldes, omitting their derivtion. In the following, α nd β re sclrs; nd b vectors; nd A, B, nd C generl elements of the lgebr: Sclrs α β= α β (14) Vector nd sclr β= 0 (15) Sclr nd vector α b = α b (16) Vectors b is the usul inner product b in V m (17) Vector nd element (b B) = ( b) B b ( B) (18) Distribution (A B) C = A (B C) (19) As we sid, linerity nd distributivity over + lso hold, but the inner product is not ssocitive. The inner product of two bldes is gin blde 5 (s we would hope becuse they represent subspces nd so should the result). It is esy to see tht the grde of this blde is grde (A B) = grde (B) grde (A) (20) 28 My/June 2002

spce hs negtive dimension, the contrction A B is zero when grde (A) > grde (B) (nd this is the min difference between the contrction nd the other inner product). When used on bldes s (A B) C) = A (B C), Eqution 19 gives the inner product its mening of being the perpendiculr prt of one subspce inside nother. In words, it would red like this: to get the prt of C perpendiculr to the subspce tht is the spn of A nd B, tke the prt of C perpendiculr to B; then of tht, tke the prt perpendiculr to A. Figure 3 gives this exmple: the inner product of vector nd 2-blde B, producing the vector B. Note tht the usul inner product for vectors nd b hs the right semntics. The subspce tht is the orthogonl complement (in the spce spnned by b) of the projection of onto b contins only the point t their common origin nd is therefore represented by sclr (0-blde) liner in nd b. With the definition of the inner product for bldes, we cn generlize the reltionship in Eqution 8 between geometric product nd its inner nd outer product prts. For vector x nd blde A, we hve xa = x A + x A (21) Note tht if the first rgument x is not vector, this formul does not pply. In generl, the geometric product of two bldes contins mny more terms, which we cn write s interlevings of the inner nd outer products of vectors spnning the bldes. Outer product Once we hve the geometric product, it is better to see the outer product s its ntisymmetric prt: ( ) 1 b = b b 2 nd, more generlly, if the second fctor is blde, 1 ( B) B = B + ( 1) grde B 2 This leds to the defining properties we sw before: (22) Sclrs α β= α β (23) Sclr nd vector α b = α b (24) Antisymmetry for vectors b = b (25) Associtivity (A B) C = A (B C) (26) (As before, α nd β re sclrs; nd b re vectors; nd A, B, nd C re generl elements.) Linerity nd distributivity over + lso hold.the grde of k-blde is the number of vector fctors tht spn it. Therefore, the ^B B 3 The inner product of bldes: the inner product of vector nd plne is perpendiculr vector in the plne. (The corkscrew denotes the orienttion of the spce s volume element.) grde of n outer product of two bldes is grde (A B) = grde (A) + grde (B) (27) Of course, the outcome cn be 0, so we should view this zero element of the lgebr s n element of n rbitrry grde. There is then no need to distinguish seprte zero sclrs, zero vectors, zero 2-bldes, nd so forth. Subspce objects without shpe. We reiterte tht the outer product of k-vectors gives bit of k-spce, in mnner tht includes the spce element s ttitude, orienttion (or hndedness), nd mgnitude. Eqution 3 conveys this for 2-blde b. Yet b is not n re element with well-defined shpe, even though we re tempted to drw it s prllelogrm (s in Figure 1c). For instnce, by the outer product s properties, b = (b + λ), for ny λ, so b is just s much the prllelogrm spnned by nd b + λ. Plying round, you find tht you cn move round pieces of the re elements while still mintining the sme product b. So relly, bivector does not hve ny fixed shpe or position; it is just chunk of precisely defined mount of 2D directed re in welldefined plne. It follows tht the 2-bldes hve n existence of their own, independent of ny vectors tht we might use to define them. We will tke these nonspecific shpes mde by the outer product nd force them into shpe with crefully chosen geometric products. This will turn out to be powerful nd flexible technique to get closed coordinte-free computtionl expressions for geometricl constructions. Liner (in)dependence. Note tht if three vectors re linerly dependent, they stisfy, b, c, linerly dependent b c = 0 We interpret the ltter immeditely s the geometric sttement tht the vectors spn zero volume. This mkes liner dependence computtionl property rther thn predicte three vectors cn be lmost linerly dependent. The mgnitude of b c obviously involves the B IEEE Computer Grphics nd Applictions 29

Tutoril x x^ x ric product. In this exmple, just dding the two equtions works, yielding 4 () Projecting nd rejecting x reltive to. (b) Reflecting x in. x = (x^)/ () (x. )/ (b) x 1 x + x = x = x This one eqution contins the full geometric reltionship between x,, nd the unknown x. Geometric lgebr solves this eqution through division on the right by : determinnt of the mtrix (bc), so this view corresponds with the usul computtion of determinnts to check degenercy. Solving geometric equtions The geometric product is invertible, so dividing by vector hs unique mening. We usully do this through multipliction by the inverse of the vector. Becuse multipliction is not necessrily commuttive, we must be creful; there is left nd right division. As you cn verify, the unique inverse of vector is becuse tht is the unique element tht stisfies 1 = 1 = 1. In generl, n element A hs the inverse A 1 = 1 = ~ A A A ~ where ~ A is the reverse of A, obtined by switching its spnning fctors for ech grde in A. So if A is k- blde 1 2 k, then ~ A = k 2 1. You cn verify tht A ~ A is sclr (nd in Eucliden spce, even positive sclr, which we cn consider to be the norm squred of A; if it is zero, the element A hs no inverse, but this does not hppen for bldes in Eucliden spces). Invertibility is gret help in solving geometric problems in closed coordinte-free computtionl form. The common procedure is s follows: we know certin defining properties of objects in the usul terms of perpendiculrity, spnning, rottions, nd so on. These give equtions typiclly expressed using the derived products. We combine these equtions lgebriclly, with the gol of finding n expression for the unknown object involving only the geometric product; then division (permitted by the invertibility of the geometric product) should provide the result. Let us illustrte this with n exmple. Suppose we wnt to find the component x of vector x perpendiculr to vector. The perpendiculrity demnd is clerly x = 0 A second demnd is required to relte the mgnitude of x to tht of x. Some prctice in seeing subspces in geometricl problems revels tht the re spnned by x nd is the sme s the re spnned by x nd (see Figure 4). We express this using the outer product: x = x. We combine these two equtions to form geomet- x = (x )/ = (x ) 1 (28) We rewrote the division by s multipliction by the subspce 1 to clerly show tht we men division on the right. This is n exmple of how the indefinite shpe x spnned by the outer product is just the right element to generte perpendiculr to vector in its plne, through the geometric product. Note tht Eqution 28 grees with the well-known expression x using the inner product of vectors: ( ) = ( ) = 1 1 x x x x x x = (29) The geometric lgebr expression using outer product nd inverse generlizes immeditely to rbitrry subspces A. Projecting subspces We generlize this technique s the decomposition of vector to n rbitrry blde A, using the geometric product decomposition of Eqution 21: x = (xa)a 1 = (x A)A 1 + (x A)A 1 (30) We cn show tht the first term is blde fully inside A it is the projection of x onto A. Likewise, we cn show tht the second term is vector perpendiculr to A, sometimes clled the rejection of x by A. The projection of blde X of rbitrry dimensionlity (grde) onto blde A is given by projection of X onto A: X (X A)A 1 Geometric lgebr often llows such strightforwrd extension to rbitrry dimensions of subspces, without dditionl computtionl complexity. (We will see why when we tret liner mppings in prt two.) Reflecting subspces The reflection of vector x reltive to fixed vector cn be constructed from the decomposition of Eqution 30 (used for vector ) by chnging the sign of the rejection (see Figure 4b). We cn rewrite this in terms of the geometric product: (x ) 1 (x ) 1 = ( x + x ) 1 = x 1 (31) So the reflection of x in is the expression x 1 (see Figure 4b), nd the reflection in plne perpendiculr 30 My/June 2002

to is then x 1. (We will see this sndwiching opertor in more detil in prt two.) We cn extend this formul to the reflection of blde X reltive to the vector. This is reflection in vector : X X 1 nd even to the reflection of blde X in k-blde A, which turns out to be generl reflection: X ( 1) k AXA 1 x c b 5 The rtio of vectors determines rottion/ diltion opertor. Note tht these formuls let us do reflections of subspces without first decomposing them into constituent vectors. It gives the possibility of reflecting polyhedrl object by directly using fcet representtion, rther thn cting on individul vertices. Vector division With subspces s bsic computtionl elements, we cn directly solve equtions in similrity problems such s Figure 5 suggests: Given two vectors nd b, nd third vector c, determine x so tht x is to c s b is to tht is, solve x : c = b :. In geometric lgebr the problem reds x c 1 = b 1, nd through right multipliction by c, the solution is 3. P. Lounesto, Mrcel Riesz s Work on Clifford Algebrs, Clifford Numbers nd Spinors, E.F. Bolinder nd P. Lounesto, eds., Kluwer Acdemic Publishers, New York, 1993, pp. 119-241. 4. L. Dorst, Honing Geometric Algebr for its Use in the Computer Sciences, Geometric Computing with Clifford Algebr, G. Sommer, ed., Springer, New York, 2001, pp. 127-152. 5. T.A. Boum, L. Dorst, nd H. Pijls, Geometric Algebr for Subspce Opertions, to be published in Applicnde Mthemtice, 2002, http://xxx.lnl.gov/bs/mth.la/ 0104159. x = (b 1 ) c (32) This is computble expression. For instnce, with = e 1, b = e 1 + e 2, nd c = e 2 in the stndrd orthonorml bsis, we obtin 1 (( ) ) = ( ) 1 2 1 = x= e + e e e 1 e e e e e 2 1 2 2 2 1 In prt two, we will develop this into method to hndle rottions. Conclusion In this rticle, we ve introduced bldes nd three products of geometric lgebr. The geometric product is the most importnt becuse it is the only one tht is invertible. We hope tht this introduction hs given reders hint of geometric lgebr s structure. In prt two, we will show how to wield these products to construct opertions like rottions nd look t more dvnced topics such s differentition, liner lgebr, nd homogeneous representtions. Leo Dorst is n ssistnt professor t the Informtics Institute t the University of Amsterdm. His reserch interests include geometric lgebr nd its pplictions to computer science. He hs n MSc nd PhD in the pplied physics of computer vision from Delft University of Technology. Stephen Mnn is n ssocite professor in the School of Computer Science t the University of Wterloo. He hs BA in computer science nd pure mthemtics from the University of Cliforni, Berkeley, nd PhD in computer science nd engineering from the University of Wshington. His reserch interests re in splines nd the mthemticl foundtions of computer grphics. References 1. R. Goldmn, Illicit Expressions in Vector Algebr, ACM Trns. Grphics, vol. 4, no. 3, July 1985, pp. 223-243. 2. S. Mnn, N. Litke, nd T. DeRose, A Coordinte Free Geometry ADT, reserch report CS-97-15, Computer Science Dept., Univ. of Wterloo, 1997, ftp://cs-rchive.uwterloo. c/cs-rchive/cs-97-15/. Reders my contct Leo Dorst t the Informtics Inst., Univ. of Amsterdm, Kruisln 403, 1098 SJ Amsterdm, The Netherlnds, emil leo@science.uv.nl. For further informtion on this or ny other computing topic, plese visit our Digitl Librry t http://computer. org/publictions/dlib. IEEE Computer Grphics nd Applictions 31