# GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo.

## Presentation on theme: "GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo."— Presentation transcript:

http://www.science.uva.nl/~leo/clifford/gable.html GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo Dorst and Stephen Mann

Course 31. Geometric Algebra: GABLE Geometric Algebra Geometric algebra is an algebra of subspaces spanning subspaces using outer productspanning subspaces using outer product projection of subspaces using inner productprojection of subspaces using inner product ratio of subspaces using geometric productratio of subspaces using geometric product intersection/union of subspaces using meet/joinintersection/union of subspaces using meet/join

Course 31. Geometric Algebra: GABLE Vectors Start with vector space VStart with vector space V Standard vector operationsStandard vector operations Create vectors relative to coordinate frameCreate vectors relative to coordinate frame Manipulate without coordinatesManipulate without coordinates GAD(1)

Course 31. Geometric Algebra: GABLE Spanning subspaces Span subspaces using outer product of vectorsSpan subspaces using outer product of vectors a ^b Anti-symmetric, linear, associativeAnti-symmetric, linear, associative Related to cross-productRelated to cross-product Outer product of k vectors gives k-bladeOuter product of k vectors gives k-blade GAD(2)

Course 31. Geometric Algebra: GABLE Elements of geometric algebra k-blades are basic elements of computationk-blades are basic elements of computation Blades form a linear spaceBlades form a linear space {1, e 1, e 2, e 3, e 1 ^e 2, e 2 ^e 3, e 3 ^e 1, e 1 ^e 2 ^e 3 } {1, e 1, e 2, e 3, e 1 ^e 2, e 2 ^e 3, e 3 ^e 1, e 1 ^e 2 ^e 3 } –{e 1, e 2, e 3 } form vector basis –{e 1 ^e 2, e 2 ^e 3, e 3 ^e 1 } form 2-blade basis

Course 31. Geometric Algebra: GABLE Outer product Characterizes a k -dimensional subspace dimensionality (grade)dimensionality (grade) attitude (stance, direction)attitude (stance, direction) sense (left/right handed, (anti-) clockwise)sense (left/right handed, (anti-) clockwise) magnitudemagnitude It is not specific on shape

Course 31. Geometric Algebra: GABLE Vectors in a subspace Pseudoscalar: n-blade in n-spacePseudoscalar: n-blade in n-space I3 in GABLE I3 in GABLE Vector v in subspace AVector v in subspace A v ^A = 0 And almost in A when v ^A is small And almost in A when v ^A is small GAD(3) GAD(4)

Course 31. Geometric Algebra: GABLE The inner product a b is part of b perpendicular to a a b is part of b perpendicular to a Inner product of two of same grade is scalarInner product of two of same grade is scalar Inner product on vectors is dot product Inner product on vectors is dot product Inner product of different gradesInner product of different grades “Remove” lower grade from higher grade “Remove” lower grade from higher grade GAD(5)

Course 31. Geometric Algebra: GABLE Duality All elements have dualsAll elements have duals Dual(b): b I 3 Dual(b): b I 3 Tangent planeTangent plane 2-blade vs normal vector: duals 2-blade vs normal vector: duals GAD(6)

Course 31. Geometric Algebra: GABLE Inner and outer products Given: a, x a, x ^aGiven: a, x a, x ^a Compute x Compute x x a a x ^a

Course 31. Geometric Algebra: GABLE The geometric product Geometric product of vectors a,b :Geometric product of vectors a,b : ab = a b + a ^b a,b vectors is a scalar+bivector (!)a,b vectors is a scalar+bivector (!) Can be extended to bivectors, etc.Can be extended to bivectors, etc. Linear, associativeLinear, associative GAD(7)

Course 31. Geometric Algebra: GABLE Division Non-null geometric elements have inversesNon-null geometric elements have inverses In expression ab, can multiply by inverse of b to get aIn expression ab, can multiply by inverse of b to get a Will use ‘/’ to denote right multiplication by inverseWill use ‘/’ to denote right multiplication by inverse

Course 31. Geometric Algebra: GABLE Projection and rejection Use geometric product to decompose:Use geometric product to decompose: x = (xa)/a x = (xa)/a = (xa)/a + (x^a)/a = (xa)/a + (x^a)/a = (xe)/e + (x^e)/e = (xe) e + (x^e) e = (xe)/e + (x^e)/e = (xe) e + (x^e) e where e is unit vector in direction of a where e is unit vector in direction of a First term is projection of x onto eFirst term is projection of x onto e Second term is rejection of x by eSecond term is rejection of x by e GAD(8)

Course 31. Geometric Algebra: GABLE Rotations as ratios x is to c as b is to ax is to c as b is to a x/c = b/a Solution: x = (b/a)cSolution: x = (b/a)c b/a is an operator that rotates/dilatesb/a is an operator that rotates/dilates a b c x? GAD(9)

Course 31. Geometric Algebra: GABLE Complex form of rotation Pure rotation: ratio of unit vectors v and u. For x in (u,v)-plane with unit bivector i :Pure rotation: ratio of unit vectors v and u. For x in (u,v)-plane with unit bivector i : Rx = (v/u)x = (vu)x = (vu + v^u) x Rx = (v/u)x = (vu)x = (vu + v^u) x = (vu - u^v) x = (cos - i sin ) x = (vu - u^v) x = (cos  - i sin  ) x Since ii = -1, we can write this as Since ii = -1, we can write this as Rx = e -i x Rx = e -i  x Bivector angle i Bivector angle i  rotation plane and amount!

Course 31. Geometric Algebra: GABLE Rotor representation of rotations General x (not necessarily in i-plane), only component in i should be rotated. Done by:General x (not necessarily in i-plane), only component in i should be rotated. Done by: Rx = e -i  /2 x e i  /2 = Rx/R Rotation fully characterized by rotor R. Product of rotations: product of rotors R 2 R 1 x = R 2 (R 1 x/R 1 )/R 2 = (R 2 R 1 )x /(R 2 R 1 )Product of rotations: product of rotors R 2 R 1 x = R 2 (R 1 x/R 1 )/R 2 = (R 2 R 1 )x /(R 2 R 1 ) GAD(10)

Course 31. Geometric Algebra: GABLE Quaternions are subsumed In 3-space, for rotation with rotation axis n = n 1 e 1 + n 2 e 2 + n 3 e 3 = -i I 3In 3-space, for rotation with rotation axis n = n 1 e 1 + n 2 e 2 + n 3 e 3 = -i I 3 we can rewrite R = e -I3n  /2 = cos(  /2) - sin(  /2) I 3 n = cos(  /2) - (i n 1 + j n 2 + k n 3 ) sin (  /2) we can rewrite R = e -I3n  /2 = cos(  /2) - sin(  /2) I 3 n = cos(  /2) - (i n 1 + j n 2 + k n 3 ) sin (  /2) on the bivector basis i=I 3 e 1, j = I 3 e 2, k = I 3 e 3 which satisfies ii=jj=kk=ijk=-1, ji=k, etc. on the bivector basis i=I 3 e 1, j = I 3 e 2, k = I 3 e 3 which satisfies ii=jj=kk=ijk=-1, ji=k, etc. So quaternions subsumed: So quaternions subsumed: Can act directly on vectors. Can act directly on vectors. GAD(11)

Course 31. Geometric Algebra: GABLE Rotation/orientation interpolation Given: two orientations R A, R B represented as rotationsGiven: two orientations R A, R B represented as rotations Find: intermediate orientationsFind: intermediate orientations R 0 =R A ; R i+1 =RR i ; R n =R B GAD(12)

Course 31. Geometric Algebra: GABLE Homogeneous model Get affine/homogeneous spaces by using one dimension for “point at zero”Get affine/homogeneous spaces by using one dimension for “point at zero” –Point: P =e+p, such that ep=0 –Vector: v, such that ev=0 –Tangent plane: bivector B, eB=0 (not a normal!) –Line: point P, point Q : P ^Q = (e+p) ^(q-p) –Line: direction v, point P : P ^v = (e+p) ^v GAD(13)

Course 31. Geometric Algebra: GABLE Meet and join Homogeneous line intersection requires blade intersection: meet(A,B)Homogeneous line intersection requires blade intersection: meet(A,B) Dual operations, join(A,B), spans lowest grade superspace of A and BDual operations, join(A,B), spans lowest grade superspace of A and B GAD(14)

Course 31. Geometric Algebra: GABLE Euclidean geometry Pappus’ theoremPappus’ theorem –Given two lines and three points on each line –Then the three intersections of cross-joined lines are colinear GAD(15)

Course 31. Geometric Algebra: GABLE Summary Higher dimensional subspaces are basic elements of computationHigher dimensional subspaces are basic elements of computation Geometric productGeometric product Inverses Inverses Extends homogeneous coordinatesExtends homogeneous coordinates http://www.science.uva.nl/~leo/clifford/gable.html http://www.cgl.uwaterloo.ca/~smann/GABLE/

Download ppt "GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo."

Similar presentations