220 likes | 557 Views
GABLE: Geometric Algebra Learning Environment. Leo Dorst and Stephen Mann. Goals 2nd year tutorial Graphical GABLE Matlab 3D. Geometric Algebra. Geometric algebra is an algebra of subspaces spanning subspaces using outer product projection of subspaces using inner product
E N D
GABLE: Geometric Algebra Learning Environment Leo Dorst and Stephen Mann Goals • 2nd year tutorial • Graphical GABLE • Matlab • 3D http://www.science.uva.nl/~leo/clifford/gable.html
Geometric Algebra Geometric algebra is an algebra of subspaces • spanning subspaces using outer product • projection of subspaces using inner product • ratio of subspaces using geometric product • intersection/union of subspaces using meet/join Course 31. Geometric Algebra: GABLE
Vectors • Start with vector space V • Standard vector operations • Create vectors relative to coordinate frame • Manipulate without coordinates GAD(1) Course 31. Geometric Algebra: GABLE
Spanning subspaces • Span subspaces using outer product of vectors a ^b • Anti-symmetric, linear, associative • Related to cross-product • Outer product of k vectors gives k-blade GAD(2) Course 31. Geometric Algebra: GABLE
Elements of geometric algebra • k-blades are basic elements of computation • Blades form a linear space • {1, e1, e2, e3, e1^e2, e2^e3, e3^e1, e1^e2^e3} • {e1, e2, e3} form vector basis • {e1^e2, e2^e3, e3^e1} form 2-blade basis Course 31. Geometric Algebra: GABLE
Outer product Characterizes a k -dimensional subspace • dimensionality (grade) • attitude (stance, direction) • sense (left/right handed, (anti-) clockwise) • magnitude It is not specific on shape Course 31. Geometric Algebra: GABLE
Vectors in a subspace GAD(3) • Pseudoscalar: n-blade in n-space • I3 in GABLE • Vector v in subspace A v ^A = 0 • And almost in A when v ^A is small GAD(4) Course 31. Geometric Algebra: GABLE
The inner product • a •b is part of b perpendicular to a • Inner product of two of same grade is scalar • Inner product on vectors is dot product • Inner product of different grades • “Remove” lower grade from higher grade GAD(5) Course 31. Geometric Algebra: GABLE
Duality • All elements have duals • Dual(b): b •I3 • Tangent plane • 2-blade vs normal vector: duals GAD(6) Course 31. Geometric Algebra: GABLE
Inner and outer products • Given: a, x •a, x ^a • Compute x a x ^a x •a Course 31. Geometric Algebra: GABLE
The geometric product • Geometric product of vectors a,b : ab = a •b + a ^b • a,b vectors is a scalar+bivector (!) • Can be extended to bivectors, etc. • Linear, associative GAD(7) Course 31. Geometric Algebra: GABLE
Division • Non-null geometric elements have inverses • In expression ab, can multiply by inverse of b to get a • Will use ‘/’ to denote right multiplication by inverse Course 31. Geometric Algebra: GABLE
Projection and rejection • Use geometric product to decompose: • x = (xa)/a • = (x•a)/a + (x^a)/a • = (x•e)/e + (x^e)/e = (x•e) e + (x^e) e • where e is unit vector in direction of a • First term is projection of x onto e • Second term is rejection of x by e GAD(8) Course 31. Geometric Algebra: GABLE
c b a x? Rotations as ratios • x is to c as b is to a x/c = b/a • Solution: x = (b/a)c • b/a is an operator that rotates/dilates 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 : • Rx = (v/u)x = (vu)x = (v•u + v^u) x • = (v•u - u^v) x = (cos f - i sin f) x • Since ii = -1, we can write this as • Rx = e-ifx • Bivector angle if: 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: Rx = e-if/2x eif/2 = Rx/R Rotation fully characterized by rotorR. • Product of rotations: product of rotors R2R1x = R2(R1x/R1)/R2 = (R2R1)x /(R2R1) GAD(10) Course 31. Geometric Algebra: GABLE
Quaternions are subsumed GAD(11) • In 3-space, for rotation with rotation axisn = n1e1 + n2e2 + n3e3 = -i I3 • we can rewrite R =e-I3nf/2= cos(f/2) - sin(f/2) I3n = cos(f/2) - (i n1 + j n2 + k n3) sin (f/2) • on the bivector basisi=I3e1, j = I3e2, k = I3e3which satisfies ii=jj=kk=ijk=-1, ji=k, etc. • So quaternions subsumed: • Can act directly on vectors. Course 31. Geometric Algebra: GABLE
Rotation/orientation interpolation • Given: two orientations RA, RB represented as rotations • Find: intermediate orientations R0=RA; Ri+1=RRi; Rn=RB GAD(12) Course 31. Geometric Algebra: GABLE
Homogeneous model • Get affine/homogeneous spaces by using one dimension for “point at zero” • Point: P =e+p, suchthat e•p=0 • Vector: v, suchthat e•v=0 • Tangentplane: bivector B, e•B=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) • Dual operations, join(A,B), spans lowest grade superspace of A and B GAD(14) Course 31. Geometric Algebra: GABLE
Euclidean geometry • Pappus’ 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 computation • Geometric product • Inverses • Extends homogeneous coordinates http://www.science.uva.nl/~leo/clifford/gable.html http://www.cgl.uwaterloo.ca/~smann/GABLE/ Course 31. Geometric Algebra: GABLE