biVector forum

Cartesian Coordinates of a Euclidean Point in PGA


I am kind of stuck on this. How can I compute the cartesian coordinates of a euclidean point in PGA?

My guess is that I can reverse the representation of a point, e.g., for 2D PGA:

Euclidean Point at (x,y) := xe20 + ye01 + e12

So if I have some Point (x,y), would I substract e12 and then the cartesian coordinates are the values of the e20 and the e01 blades?

I’m new to this GA as well. Just found this forum and thought that this is a great question! Looking forward to the answer.

Points are encoded in homogeneous coordinates; think of the tacking on another coordinate, i.e., (x,y,1). So, when going from Euclidean to PGA: (x,y) \rightarrow x e_{20} + y e_{01} + 1 e_{12}.
When going from PGA to Euclidean: x' e_{20} + y' e_{01} + w' e_{21} \rightarrow (x,y) = (\frac{x'}{w'}, \frac{y'}{w'}), i.e., the ‘weight’ w factor of e_{12} needs to be normalized to 1. The reverse mapping is sometimes called de-homogenizing. Consequently, all scalar multiples of any PGA point \alpha p, where \alpha \in \mathbb{R}, \; p = x' e_{20} + y' e_{01} + w' e_{12} represent the same Euclidean point.