GABLE: Geometric Algebra Learning Environment

1 / 22

# GABLE: Geometric Algebra Learning Environment - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'GABLE: Geometric Algebra Learning Environment' - zoheret

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 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
• Standard vector operations
• Create vectors relative to coordinate frame
• Manipulate without coordinates

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

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

• 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

• I3 in GABLE
• Vector v in subspace A

v ^A = 0

• And almost in A when v ^A is small

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

Course 31. Geometric Algebra: GABLE

Duality
• All elements have duals
• Dual(b): b •I3
• Tangent plane
• 2-blade vs normal vector: duals

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

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

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

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)

Course 31. Geometric Algebra: GABLE

Quaternions are subsumed

• 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

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

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

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

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