0% found this document useful (0 votes)
125 views110 pages

Practical Projective Geometric Algebra

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views110 pages

Practical Projective Geometric Algebra

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 110

Practical Projective

Geometric Algebra
Eric Lengyel, Ph.D.
l l c¢l
s¢t s¢l
b a l ¡a c
s ¢c
a s s
l t
c
a¡b s

p
a
p ¡a a s ¢d
g
s g
g l
c¡a c
g ¢c
l ¢g
s¢g s d
c
a

d ¡a

d s ¢p d
g
d c¢o o g
f p
d ¡p h g ¢d
p d ¡f g ¢h s
d c

s∗ ¡ a
a d g∗¡ l
p l
c s ¡c

l d
g
c∗ ¡ p c l ∗¡ d
s g
g∗¡ d s

d
a a a
c
p c∗ ¡ a l
g ¡c

p
g g
s
s ¡p

l ¡p

d∗ ¡ a
c
g ¡a∗

d g∗¡ p l
a d
a

p l
s c∗ ¡ d p
s ¡d

s ¡l l ¡a
∗ ∗
s g
c p∗ ¡ a
Algebras
Projective
Geometric Algebra

Conformal
Geometric Algebra

Rigid
Geometric Algebra

Geometric Algebra
Exterior / Grassmann Algebra
Wedge product
• Combines dimensions that are present
• Add grades of operands
• Repeated vectors give zero:

a¡a 0
• Antisymmetric on vectors:
a¡b b¡a
Exterior / Grassmann Algebra
Duality means every product has an antiproduct

Antiwedge product ¢
• Combines dimensions that are absent
• Adds antigrades of operands
Geometric Algebra
Geometric product
• Includes wedge product
• Plus more information
• For vectors:

a ¥a a£a
• Duality means there is a geometric antiproduct ¦
Exterior / Geometric Algebra
Wedge and antiwedge products perform
geometric manipulation
• Join objects into higher-dimensional objects
• Intersect objects at lower-dimensional objects
• Project one object onto another object

Geometric products and antiproducts perform transformations


• Rotations, translations, reflections, inversions
• Dilations (scales), conformal transformations
Bivectors
Trivectors
Pascal’s Triangle
Rigid Geometric Algebra
Projective algebra with one extra dimension

Contains points, lines, planes

Can perform rotations, translations, screw transformations


Basis
Elements
Complements
Complement inverts dimensions

For basis elements a, a¡a 1 a ¡a 1


Homogeneous Coordinates
Plücker Coordinates
Planes
Bulk and Weight
Bulk and Weight
Bulk contains positional information
• Distance from origin

Weight contains directional information


• Line direction
• Plane normal
Point
A 4D vector is a point
• Grade 1

p p x e1 p y e2 p z e3 pw e 4

p« p x e1 p y e2 p z e3
p¬ pw e 4
The Origin
The origin is a point with no bulk
• Homogeneous coordinates (0, 0, 0, w)

p pw e 4
Line
A 4D bivector is a line
• Grade 2

l lvx e 41 lvy e 42 lvz e 43 lmx e 23 lmy e 31 lmz e12

l« lmx e 23 lmy e 31 lmz e12

l¬ lvx e 41 lvy e 42 lvz e 43


Plane
A 4D trivector is a plane
• Grade 3

g g x e 423 g y e 431 g z e 412 g w e 321

g« g w e 321
g¬ g x e 423 g y e 431 g z e 412
Points at Infinity
A point with zero weight is a point at infinity
• Can be interpreted as a direction vector

p p x e1 p y e2 p z e3
Lines at Infinity
A line with zero weight is a line at infinity
• Contains all points at infinity in directions parallel
to moment

l lmx e 23 lmy e 31 lmz e12


Lines at Infinity
The Horizon
The plane with zero weight is called the horizon
• Contains all points at infinity

g g w e 321

The origin and horizon are duals of each other


Bulk and Weight
If the bulk is zero, then the object contains the origin

If the weight zero, then the horizon contains the object

Ratio bulk/weight is 3D magnitude, distance from origin


Norms
There are two dot products and two norms

Bulk norm a «
a£a

Weight norm a ¬
a a
Reverses
There are two reverse operations

Reverse a, reverses multiplication order of vectors


under wedge product

Antireverse a, reverses multiplication order of antivectors


under antiwedge product

Generalization of conjugates
Norms
Duality
Duality
Every object is really two things at once
• One thing in space
• The dual of that thing in antispace

When any operation is performed, something happens


in space, and something else happens in antispace
Join Operation
Edge Extrusion
The wedge product of a point
and an edge’s line is the plane
extruded away from the point
through the edge

• Portals
• Occluders
• Shadow regions
• ...
Meet Operation
Line Crossing
Ray Passes Through Triangle
Check that ray passes on same side of all three edges

Translate so that one vertex is at origin to optimize


Connect Operation
Connect constructs the object containing one object
and orthogonal to another object

Uses weight complement of one object to extract


directional information
Connect
Operation
Projections
Anti-
Projections
Euclidean
Distances
Geometric Product
Traditionally implied by juxtaposition

However, there are two products, just like wedge/antiwedge

We use notation ¥ and ¦ for geometric product


and geometric antiproduct

“Wedge-dot” and “Antiwedge-dot”


Geometric Product
For geometric products, we define a metric:

e1 ¥ e1 1 e1 ¦ e1 1
e2 ¥ e2 1 e2 ¦ e2 1
e3 ¥ e3 1 e3 ¦ e3 1
e4 ¥ e4 0 e4 ¦ e4 0
Geometric Product
Sandwiches with geometric product or antiproduct
perform transformations

Motor = MOtion operaTOR

Flector = reFLECtion operaTOR


Motor
General form of a motor

Q Qvx e 41 Qvy e 42 Qvz e 43 Qvw 1 Qmx e 23 Qmy e 31 Qmz e12 Qmw 1

Performs any combo of rotations and translations


• Proper Euclidean transformations
Motor
Flector
General form of a flector

F Fpx e1 Fpy e 2 Fpz e 3 Fpw e 4 Fgx e 423 Fgy e 431 Fgz e 412 Fgw e 321

Performs any combo of rotations and translations


plus an odd number of reflections
• Improper Euclidean transformations
Flector
Motor Transforming Point
Can be reduced to 33 multiply-adds, or 30 mads if pw = 1

Q ¦ p ¦ Q = (1 − 2Qvy2 − 2Qvz2 ) p x + 2(Qvx Qvy − Qvz Qvw ) p y + 2(Qvz Qvx + Qvy Qvw ) p z + 2(Qvy Qmz − Qvz Qmy + QvwQmx − Qvx Qmw ) pw  e1

+  (1 − 2Qvz2 − 2Qvx2 )) p y + 2(Qvy Qvz − Qvx Qvw ) p z + 2(Qvx Qvy + Qvz Qvw ) p x + 2(Qvz Qmx − Qvx Qmz + QvwQmy − Qvy Qmw ) pw  e 2

+  (1 − 2Qvx2 − 2Qvy2 )) p z + 2(Qvz Qvx − Qvy Qvw ) p x + 2(Qvy Qvz + Qvx Qvw ) p y + 2(Qvx Qmy − Qvy Qmx + QvwQmz − Qvz Qmw ) pw  e 3

+ pw e 4

3x4 matrix transforming point only needs 12 mads,


or 9 mads if pw = 1
Motor Transforming Line
Can be reduced to 63 multiply-adds

Q ¦ l ¦ Q = (1 − 2Qvy2 − 2Qvz2 )lvx + 2(Qvx Qvy − Qvz Qvw )lvy + 2(Qvz Qvx + Qvy Qvw )lvz  e 41

+  (1 − 2Qvz2 − 2Qvx2 )lvy + 2(Qvy Qvz − Qvx Qvw )lvz + 2(Qvx Qvy + Qvz Qvw )lvx  e 42

+  (1 − 2Qvx2 − 2Qvy2 )lvz + 2(Qvz Qvx − Qvy Qvw )lvx + 2(Qvy Qvz + Qvx Qvw )lvy  e 43

+  −4(Qvy Qmy + Qvz Qmz )lvx + 2(Qvy Qmx + Qvx Qmy − Qvz Qmw − QvwQmz )lvy + 2(Qvz Qmx + Qvx Qmz + Qvy Qmw + QvwQmy )lvz + (1 − 2Qvy2 − 2Qvz2 )lmx + 2(Qvx Qvy − Qvz Qvw )lmy + 2(Qvz Qvx + Qvy Qvw )lmz  e 23

+  −4(Qvz Qmz + Qvx Qmx )lvy + 2(Qvz Qmy + Qvy Qmz − Qvx Qmw − QvwQmx )lvz + 2(Qvx Qmy + Qvy Qmx + Qvz Qmw + QvwQmz )lvx + (1 − 2Qvz2 − 2Qvx2 )lmy + 2(Qvy Qvz − Qvx Qvw )lmz + 2(Qvx Qvy + Qvz Qvw )lmx  e 31

+  −4(Qvx Qmx + Qvy Qmy )lvz + 2(Qvx Qmz + Qvz Qmx − Qvy Qmw − QvwQmy )lvx + 2(Qvy Qmz + Qvz Qmy + Qvx Qmw + QvwQmx )lvy + (1 − 2Qvx2 − 2Qvy2 )lmz + 2(Qvz Qvx − Qvy Qvw )lmx + 2(Qvy Qvz + 2Qvx Qvw )lmy  e12

3x4 matrix transforming parametric line only needs 21 mads


Motor Transforming Plane
Can be reduced to 39 multiply-adds

Q ¦ g ¦ Q = (1 − 2Qvy2 − 2Qvz2 ) g x + 2(Qvx Qvy − Qvz Qvw ) g y + 2(Qvz Qvx + Qvy Qvw ) g z  e 423

+  (1 − 2Qvz2 − 2Qvx2 ) g y + 2(Qvy Qvz − Qvx Qvw ) g z + 2(Qvx Qvy + Qvz Qvw ) g x  e 431

+  (1 − 2Qvx2 − 2Qvy2 ) g z + 2(Qvz Qvx − Qvy Qvw ) g x + 2(Qvy Qvz + Qvx Qvw ) g y  e 412

+ [ 2(Qvy Qmz − Qvz Qmy + Qvx Qmw − QvwQmx ) g x + 2(Qvz Qmx − Qvx Qmz + Qvy Qmw − QvwQmy ) g y + 2(Qvx Qmy − Qvy Qmx + Qvz Qmw − QvwQmz ) g z + g w ] e 321

3x4 matrix needs to be inverted (9 mads, 3 negs for ortho),


then 12 mads to transform plane
Motor to Matrix

1 2(Qvy2 Qvz2 ) 2Qvx Qvy 2Qvz Qvx 2(Qvy Qmz Qvz Qmy )
2Qvx Qvy 1 2(Qvz2 Qvx2 ) 2Qvy Qvz 2(Qvz Qmx Qvx Qmz )
A
2Qvz Qvx 2Qvy Qvz 1 2(Qvx2 Qvy2 ) 2(QvxQmy Qvy Qmx )
0 0 0 1

0 2Qvz Qvw 2Qvy Qvw 2(QvwQmx Qvx Qmw )


2Qvz Qvw 0 2Qvx Qvw 2(QvwQmy Qvy Qmw )
B
2Qvy Qvw 2Qvx Qvw 0 2(QvwQmz Qvz Qmw )
0 0 0 0
Motor Composition
Multiply motors together, 48 multiply-adds
R ¦Q Qvw Rvx Qvx Rvw Qvy Rvz Qvz Rvy e 41
+ Qvw Rvy Qvx Rvz Qvy Rvw Qvz Rvx e 42
+ Qvw Rvz Qvx Rvy Qvy Rvx Qvz Rvw e 43
+ Qvw Rvw Qvx Rvx Qvy Rvy Qvz Rvz 1
+ Qmw Rvx Qmx Rvw Qmy Rvz Qmz Rvy Qvw Rmx Qvx Rmw Qvy Rmz Qvz Rmy e 23
+ Qmw Rvy Qmx Rvz Qmy Rvw Qmz Rvx Qvw Rmy Qvx Rmz Qvy Rmw Qvz Rmx e 31
Qmw Rvz Qmx Rvy Qmy Rvx Qmz Rvw Qvw Rmz Qvx Rmy Qvy Rmx Qvz Rmw e12
+ Qmw Rvw Qmx Rvx Qmy Rvy Qmz Rvz Qvw Rmw Qvx Rmx Qvy Rmy Qvz Rmz 1

Composing two 3x4 matrices needs 39 multiply-adds


Matrix Advantages
Faster to transform objects

Faster to compose

Can read off origin and axis directions in transformed space


Motor Advantages
Smaller storage requirements
• Can get down to six floats

Inversion trivial
• It’s just the reverse

Interpolates nicer

De-orthogonalizes slower
Reciprocal Transformations
Sandwich with geometric antiproduct preserves horizon

Sandwich with geometric product preserves origin

Two transformations always happening simultaneously

Switching products swaps operations happening in


space and antispace
Reciprocal Rotation
When rotation happens in space, a reciprocal rotation
happens in antispace

Dual of rotation axis preserved


Line through origin parallel to rotation axis preserved

Points follow orbits of constant eccentricity with respect to


directrix given by dual of rotation axis
Reciprocal Translation
When translation happens in space, a reciprocal translation
happens in antispace

Performs perspective projection!

Translation distance corresponds to focal length

Unfortunately, doesn’t project in the way needed by GPUs


Transformation
Groups
Conformal Geometric Algebra
Projective algebra with two extra dimensions

Contains all of rigid geometric algebra


• Flat points, lines, planes
• Rotations, translations, screw transformations

Has same projection as RGA, plus another


stereographic projection
Conformal Geometric Algebra
Contains round points, dipoles, circles, spheres

Can perform dilations, inversions in spheres, and all the


conformal transformations derived from those
ne
N u ll Co
r e
h e
s p
r o
H o
e5
e−

e4 e+

−e + O
x

The
Horosphere
Origin and Infinity
Five basis elements

Origin = e 4

Infinity = e 5
Object Types in CGA
Round Object Real Imaginary

Round point a
Flat Object Representation

Flat point p

Dipole d

Line l

Circle c
Plane g

Sphere s
Joining
a
Points a ¡b ¡c


a
a¡ b
c

b¡ c
b
Flats
Round Point
Dipole
Circle
Sphere
Round and Flat Parts
Round part = all components without e5 factor

Flat part = all components with e5 factor

If round part zero, then it’s a flat object


Norms
Two major norms giving radius and center magnitude

Radius norm: x ®
x x x x

Center norm: x x x x x
Reflected Reverse
Reflected reverse = x

Same as reverse except e5 factor is negated

Used only in center norm


Norms
Round Norms
Duals
Carriers
Carrier is lowest-dimensional flat containing object

Anticarrier is carrier of dual

car x x ¡ e5

acr x x ¡ e5
Carriers
Centers
Center is round point with same position and radius

Intersect anticarrier with object itself

cen x acr x ¢ x
Centers
Containers
Container is sphere with same center and radius

Join dual of carrier with object itself

con x car x ¡ x
Containers
Partners
Partner is same round object with same center,
but real or imaginary radius is swapped

Intersect carrier with container of dual

par x car x ¢ con x


Partners
Attitude
Attitude operation extracts directional information

att x x ¢ e4
Attitude
Formula Illustration

Join
Dipole containing round points a and b.
b
a ¡ b = ( awbx − a x bw ) e 41 + ( a wb y − a y bw ) e 42 + ( a wbz − a z bw ) e 43
+ ( a y bz − a z b y ) e 23 + ( a z bx − a x bz ) e31 + ( a x b y − a y bx ) e12 a
+ ( a x bu − au bx ) e15 + ( a y bu − au b y ) e 25 a¡b
+ ( a z bu − au bz ) e35 + ( awbu − au bw ) e 45

Line containing flat point p and round point a.


p
p ¡ a = ( p x aw − pw a x ) e 415 + ( p z a y − p y a z ) e 235 a
p ¡a
+ ( p y aw − pw a y ) e 425 + ( p x a z − p z a x ) e 315
+ ( p z aw − pw a z ) e 435 + ( p y a x − p x a y ) e125

Circle containing dipole d and round point a.

d ¡ a = ( d vy a z − d vz a y + d mx a w ) e 423 + ( d vz a x − d vx a z + d my a w ) e 431
a
+ ( d vx a y − d vy a x + d mz a w ) e 412 − ( d mx a x + d my a y + d mz a z ) e321
d ¡a
+ ( d px a w − d pw a x + d vx au ) e 415 + ( d pz a y − d py a z + d mx au ) e 235
+ ( d py a w − d pw a y + d vy au ) e 425 + ( d px a z − d pz a x + d my au ) e315
d
+ ( d pz a w − d pw a z + d vz au ) e 435 + ( d py a x − d px a y + d mz au ) e125

Plane containing line l and round point a. a l ¡a


l ¡ a = ( lvz a y − lvy a z − lmx aw ) e 4235 + ( lvx a z − lvz a x − lmy a w ) e 4315
+ ( lvy a x − lvx a y − lmz aw ) e 4125 + ( lmx a x + lmy a y + lmz a z ) e 3215 l

Plane containing dipole d and flat point p.

d ¡ p = ( d vy p z − d vz p y + d mx p w ) e 4235 d ¡p
p
+ ( d vz p x − d vx p z + d my p w ) e 4315 d
+ ( d vx p y − d vy p x + d mz p w ) e 4125
− ( d mx p x + d my p y + d mz p z ) e 3215
Join
Formula Illustration

Sphere containing circle c and round point a. a


c ¡ a = − ( c gx a x + c gy a y + c gz a z + c gw aw ) e1234
+ ( cvz a y − cvy a z + c gx au − cmx aw ) e 4235 c¡a
+ ( cvx a z − cvz a x + c gy au − cmy aw ) e 4315
+ ( cvy a x − cvx a y + c gz au − cmz aw ) e 4125 c
+ ( cmx a x + cmy a y + cmz a z + c gw au ) e3215

Sphere containing dipoles d and f.

d ¡ f = − ( d vx f mx + d vy f my + d vz f mz + d mx f vx + d my f vy + d mz f vz ) e1234
d
+ ( d vy f pz − d vz f py + d pz f vy − d py f vz + d mx f pw + d pw f mx ) e 4235 f
+ ( d vz f px − d vx f pz + d px f vz − d pz f vx + d my f pw + d pw f my ) e 4315 d ¡f
+ ( d vx f py − d vy p px + d py f vx − d px f vy + d mz f pw + d pw f mz ) e 4125
− ( d mx f px + d my f py + d mz f pz + d px f mx + d py f my + d pz f mz ) e 3215
Formula Illustration

Meet
Circle where spheres s and t intersect.
s¢t
s ¢ t = ( su t x − s x tu ) e 423 + ( su t y − s y tu ) e 431
+ ( su t z − s z tu ) e 412 + ( su t w − swtu ) e321 s t
+ ( s z t y − s y t z ) e 415 + ( s x t z − s z t x ) e 425 + ( s y t x − s x t y ) e 435
+ ( s x t w − s wt x ) e 235 + ( s y t w − s wt y ) e315 + ( s z t w − s wt z ) e125

Circle where sphere s and plane g intersect. g


s
s ¢ g = su g x e 423 + su g y e 431 + su g z e 412 + su g w e 321
+ ( s z g y − s y g z ) e 415 + ( s x g z − s z g x ) e 425 + ( s y g x − s x g y ) e 435
s¢g
+ ( s x g w − s w g x ) e 235 + ( s y g w − s w g y ) e 315 + ( s z g w − s w g z ) e125

Line where planes g and h intersect.


g
g ¢ h = ( g z h y − g y hz ) e 415 + ( g x hw − g w hx ) e 235
h
+ ( g x hz − g z hx ) e 425 + ( g y hw − g w h y ) e 315 g ¢h
+ ( g y hx − g x h y ) e 435 + ( g z hw − g w hz ) e125

Dipole where sphere s and circle c intersect.

s ¢ c = ( s y c gz − s z c gy + su cvx ) e 41 + ( s w c gx − s x c gw + su cmx ) e 23
c
+ ( s z c gx − s x c gz + su cvy ) e 42 + ( s w c gy − s y c gw + su cmy ) e31 s ¢c
+ ( s x c gy − s y c gx + su cvz ) e 43 + ( s w c gz − s z c gw + su cmz ) e12
s
+ ( s z cmy − s y cmz + s w cvx ) e15 + ( s x cmz − s z cmx + s w cvy ) e 25
+ ( s y cmx − s x cmy + s w cvz ) e35 − ( s x cvx + s y cvy + s z cvz ) e 45

Dipole where plane g and circle c intersect.

g ¢ c = ( g y c gz − g z c gy ) e 41 + ( g w c gx − g x c gw ) e 23 g

+ ( g z c gx − g x c gz ) e 42 + ( g w c gy − g y c gw ) e31 c
g ¢c
+ ( g x c gy − g y c gx ) e 43 + ( g w c gz − g z c gw ) e12
+ ( g z cmy − g y cmz + g w cvx ) e15 + ( g x cmz − g z cmx + g w cvy ) e 25
+ ( g y cmx − g x cmy + g w cvz ) e35 − ( g x cvx + g y cvy + g z cvz ) e 45
Meet Formula

Dipole where sphere s and line l intersect.


Illustration

s¢l
l
s ¢l = su lvx e 41 + su lvy e 42 + su lvz e 43
+ su lmx e 23 + su lmy e 31 + su lmz e12 s
+ ( s z lmy − s y lmz + s wlvx ) e15 + ( s x lmz − s z lmx + s wlvy ) e 25
+ ( s y lmx − s x lmy + s wlvz ) e35 − ( s x lvx + s y lvy + s z lvz ) e 45

Flat point where plane g and line l intersect.


g l
g ¢l = ( g z lmy − g y lmz + g wlvx ) e15 + ( g x lmz − g z lmx + g wlvy ) e 25
+ ( g y lmx − g x lmy + g wlvz ) e 35 − ( g x lvx + g y lvy + g z lvz ) e 45 l ¢g

Round point contained by circles c and o.

c ¢ o = ( c gz omy − c gy omz + cmy o gz − cmz o gy + cvx o gw + c gw ovx ) e1


c¢o o
+ ( c gx omz − c gz omx + cmz o gx − cmx o gz + cvy o gw + c gw ovy ) e 2
+ ( c gy omx − c gx omy + cmx o gy − cmy o gx + cvz o gw + c gw ovz ) e3
− ( c gx ovx + c gy ovy + c gz ovz + cvx o gx + cvy o gy + cvz o gz ) e 4 c
− ( cmx ovx + cmy ovy + cmz ovz + cvx omx + cvy omy + cvz omz ) e 5

Round point centered on line l and contained by circle c. l c¢l


c ¢l = ( c gz lmy − c gy lmz + c gwlvx ) e1 + ( c gx lmz − c gz lmx + c gwlvy ) e 2
+ ( c gy lmx − c gx lmy + c gwlvz ) e3 − ( c gx lvx + c gy lvy + cvz lvz ) e 4
c
− ( cmx lvx + cmy lvy + cmz lvz + cvx lmx + cvy lmy + cvz lmz ) e5
Meet Formula

Round point contained by sphere s and dipole d.


Illustration

s ¢d
s ¢ d = ( s y d mz − s z d my − s w d vx + su d px ) e1
+ ( s z d mx − s x d mz − s w d vy + su d py ) e 2
+ ( s x d my − s y d mx − s w d vz + su d pz ) e 3 s d
+ ( s x d vx + s y d vy + s z d vz + su d pw ) e 4
− ( s x d px + s y d py + s z d pz + s w d pw ) e 5

Round point centered in plane g and contained by dipole d.


d
g ¢ d = ( g y d mz − g z d my − g w d vx ) e1 g
+ ( g z d mx − g x d mz − g w d vy ) e 2
g ¢d
+ ( g x d my − g y d mx − g w d vz ) e 3
+ ( g x d vx + g y d vy + g z d vz ) e 4
− ( g x d px + g y d py + g z d pz + g w d pw ) e 5

Round point centered at flat point p and contained by sphere s.


s ¢p
s ¢ p = su p x e1 + su p y e 2 + su p z e 3 + su pw e 4
p
− ( s x p x + s y p y + s z p z + sw pw ) e5
s
Connect Formula

Dipole orthogonal to sphere s and containing round point a.

s∗ ¡ a = ( s x aw + su a x ) e 41 + ( s z a y − s y a z ) e 23
a
Illustration

s∗ ¡ a

+ ( s y a w + su a y ) e 42 + ( s x a z − s z a x ) e 31
+ ( s z a w + su a z ) e 43 + ( s y a x − s x a y ) e12
s
− ( s x au + s w a x ) e15 − ( s y au + s w a y ) e 25
− ( s z au + s w a z ) e 35 + ( su au − s w a w ) e 45

Dipole orthogonal to plane g and containing round point a.


a
g ∗ ¡ a = g x aw e 41 + ( g z a y − g y a z ) e 23
+ g y aw e 42 + ( g x a z − g z a x ) e 31
+ g z aw e 43 + ( g y a x − g x a y ) e12 g

− ( g x au + g w a x ) e15 − ( g y au + g w a y ) e 25
g∗¡ a
− ( g z au + g w a z ) e 35 − g w aw e 45

Circle orthogonal to sphere s and containing dipole d.


d
s∗ ¡ d = ( s y d vz − s z d vy + su d mx ) e 423 + ( s z d vx − s x d vz + su d my ) e 431
+ ( s x d vy − s y d vx + su d mz ) e 412 + ( s x d mx + s y d my + s z d mz ) e 321
+ ( s x d pw + s w d vx + su d px ) e 415 + ( s z d py − s y d pz + s w d mx ) e 235 s∗ ¡ d
s
+ ( s y d pw + s w d vy + su d py ) e 425 + ( s x d pz − s z d px + s w d my ) e315
+ ( s z d pw + s w d vz + su d pz ) e 435 + ( s y d px − s x d py + s w d mz ) e125

Circle orthogonal to plane g and containing dipole d.

g ∗ ¡ d = ( g y d vz − g z d vy ) e 423 + ( g z d vx − g x d vz ) e 431 d

+ ( g x d vy − g y d vx ) e 412 + ( g x d mx + g y d my + g z d mz ) e321 g
+ ( g x d pw + g w d vx ) e 415 + ( g z d py − g y d pz + g w d mx ) e 235
+ ( g y d pw + g w d vy ) e 425 + ( g x d pz − g z d px + g w d my ) e315
+ ( g z d pw + g w d vz ) e 435 + ( g y d px − g x d py + g w d mz ) e125
Formula Illustration

Connect
Line orthogonal to sphere s and containing flat point p.
p
s ¡ p = ( s x pw + su p x ) e 415 + ( s z p y − s y p z ) e 235

+ ( s y p w + su p y ) e 425 + ( s x p z − s z p x ) e 315 s
s∗ ¡ p
+ ( s z p w + su p z ) e 435 + ( s y p x − s x p y ) e125

Line orthogonal to plane g and containing flat point p. g∗¡ p

g ∗ ¡ p = g x pw e 415 + ( g z p y − g y p z ) e 235 p
+ g y pw e 425 + ( g x p z − g z p x ) e 315
g
+ g z pw e 435 + ( g y p x − g x p y ) e125

Sphere orthogonal to sphere s and containing circle c.

s∗ ¡ c = ( su c gw − s x c gx − s y c gy − s z c gz ) e1234 c s∗ ¡ c
+ ( s y cvz − s z cvy − s w c gx + su cmx ) e 4235
+ ( s z cvx − s x cvz − s w c gy + su cmy ) e 4315
+ ( s x cvy − s y cvx − s w c gz + su cmz ) e 4125 s
+ ( s x cmx + s y cmy + s z cmz − s w c gw ) e 3215

Sphere orthogonal to plane g and containing circle c.

g ∗ ¡ c = − ( g x c gx + g y c gy + g z c gz ) e1234 c
+ ( g y cvz − g z cvy − g w c gx ) e 4235 g∗¡ c
g
+ ( g z cvx − g x cvz − g w c gy ) e 4315
+ ( g x cvy − g y cvx − g w c gz ) e 4125
+ ( g x cmx + g y cmy + g z cmz − g w c gw ) e 3215

Plane orthogonal to sphere s and containing line l. l

s∗ ¡l = ( s y lvz − s z lvy + su lmx ) e 4235 + ( s z lvx − s x lvz + su lmy ) e 4315 s

+ ( s x lvy − s y lvx + su lmz ) e 4125 + ( s x lmx + s y lmy + s z lmz ) e 3215 s∗ ¡ l

Plane orthogonal to plane g and containing line l.


l
g ¡ l = ( g y lvz − g z lvy ) e 4235 + ( g z lvx − g x lvz ) e 4315

g ¡l∗

+ ( g x lvy − g y lvx ) e 4125 + ( g x lmx + g y lmy + g z lmz ) e 3215 g


Connect Formula

Circle orthogonal to circle c and containing round point a.

c∗ ¡ a = ( c gy a z − c gz a y + cvx aw ) e 423 + ( c gz a x − c gx a z + cvy a w ) e 431


a
Illustration

c∗ ¡ a
+ ( c gx a y − c gy a x + cvz a w ) e 412 − ( cvx a x + cvy a y + cvz a z ) e321
+ ( cmx aw + c gw a x + c gx au ) e 415 + ( cmz a y − cmy a z + cvx au ) e 235
+ ( cmy aw + c gw a y + c gy au ) e 425 + ( cmx a z − cmz a x + cvy au ) e315 c
+ ( cmz aw + c gw a z + c gz au ) e 435 + ( cmy a x − cmx a y + cvz au ) e125

Circle orthogonal to line l and containing round point a.


a
l ∗ ¡ a = lvx aw e 423 + lvy aw e 431 + lvz aw e 412
l
− ( lvx a x + lvy a y + lvz a z ) e 321
+ lmx aw e 415 + ( lmz a y − lmy a z + lvx au ) e 235 l ∗¡ a
+ lmy aw e 425 + ( lmx a z − lmz a x + lvy au ) e 315
+ lmz aw e 435 + ( lmy a x − lmx a y + lvz au ) e125

Plane orthogonal to circle c and containing flat point p.


p
c∗ ¡ p = ( c gy p z − c gz p y + cvx pw ) e 4235
+ ( c gz p x − c gx p z + cvy pw ) e 4315
c∗ ¡ p c
+ ( c gx p y − c gy p x + cvz pw ) e 4125
− ( cvx p x + cvy p y + cvz p z ) e 3215

Plane orthogonal to line l and containing flat point p.


l
l ¡ p = lvx pw e 4235 + lvy pw e 4315 + lvz pw e 4125

p
− ( lvx p x + lvy p y + lvz p z ) e 3215
l ∗¡ p
Connect Formula

Sphere orthogonal to circle c and containing dipole d.

c∗ ¡ d = − ( cvx d vx + cvy d vy + cvz d vz + c gx d mx + c gy d my + c gz d mz ) e1234


d
Illustration

+ ( cmz d vy − cmy d vz + cvx d pw + c gy d pz − c gz d py − c gw d mx ) e 4235 c∗ ¡ d


+ ( cmx d vz − cmz d vx + cvy d pw + c gz d px − c gx d pz − c gw d my ) e 4315
c
+ ( cmy d vx − cmx d vy + cvz d pw + c gx d py − c gy d px − c gw d mz ) e 4125
− ( cvx d px + cvy d py + cvz d pz + cmx d mx + cmy d my + cmz d mz ) e 3215

Sphere orthogonal to line l and containing dipole d.

l ∗ ¡ d = − ( lvx d vx + lvy d vy + lvz d vz ) e1234 d l


+ ( lmz d vy − lmy d vz + lvx d pw ) e 4235
+ ( lmx d vz − lmz d vx + lvy d pw ) e 4315 l ∗¡ d
+ ( lmy d vx − lmx d vy + lvz d pw ) e 4125
− ( lvx d px + lvy d py + lvz d pz + lmx d mx + lmy d my + lmz d mz ) e 3215

Sphere orthogonal to dipole d and containing round point a. d


a
d ∗ ¡ a = ( d vx a x + d vy a y + d vz a z − d pw a w ) e1234
+ ( d my a z − d mz a y + d px aw − d vx au ) e 4235
+ ( d mz a x − d mx a z + d py aw − d vy au ) e 4315
d∗ ¡ a
+ ( d mx a y − d my a x + d pz aw − d vz au ) e 4125
+ ( d pw au − d px a x − d py a y − d pz a z ) e3215

Sphere centered at flat point p and containing round point a.


a
p ∗ ¡ a = − pw aw e1234 + p x awe 4235 + p y awe 4315 + p z awe 4125
+ ( pw au − p x a x − p y a y − p z a z ) e 3215 p

p∗ ¡ a
Projections
Same as rigid geometric algebra

To project a onto b, calculate connect b ¡a

Then intersect result with b: b ¡a ¢b


Real Point Imaginary Point

Points
R2 > 0 R2 > 0

r2 > 0 r2 < 0

Contained
r R

Real Sphere
r
d d

by Sphere d 2 + r 2 = R2 R2 − r 2 = d 2

r2 < 0
r2 > 0 R2 < 0 R2 < 0

Imaginary Sphere
R

Impossible

d 2 − R 2 = −r 2
Points Contained by Sphere
Parametric Geometries
Generalization to non-scalar parameters

Round objects can be expressed as center point plus multiples


of attitude by u, where u has lower grade by 2

p u cen x u ¢ att x
Parametric Geometries
Dipole has scalar parameter
Circle has vector parameter
Sphere has bivector parameter

p u cen x u ¢ att x
Parametric Dipole
Sphere-Line Intersection
Calculate the points a and b where
a line l intersects a sphere having
center c and radius r. l
a b

c r
Are Two Circles Linked?
Given two arbitrarily oriented circles,
how can we tell if they are linked?

Simply take antiwedge product to give round point

Radius of point is real if linked, imaginary otherwise


Are Two Circles Linked?
References
projectivegeometricalgebra.org
Contact
[email protected]

@EricLengyel

Booth 1326, South Hall

You might also like