[Math] Why use homogeneous coordinates

linear algebramatrices

I am having trouble understand the use of homogeneous coordinates for when describing transformations in 3D space. From what I have seen, the only difference between a transformation matrix in standard coordinates, and homogeneous coordinates, is that a fourth row is added, of [0 0 0 1]. Then, when transforming a point, an additional row of [1] is added to the point vector. What is the point of this additional 1? And is it ever a different number? From what I have read, homogeneous coordinates enable perspective transformations to be achieved using matrices and linear algebra, but I don't see the connection….

Best Answer

The main reason to extend $\mathbb R^3$ to $\mathbb {RP}^3$ by identifying $(x,y,z)$ with $(x:y:z:1)$ is to allow affine transformations be described by matrix multiplication, like you do for linear transformations. An affine transformation $\mathbb R^3\to\mathbb R^3$ is usually given by $x\mapsto Ax+b$ where $A$ is a $3\times 3$ matrix and $b\in\mathbb R^3$ a column vector. To be precise, $$ \pmatrix{x_1\\x_2\\x_3} \longmapsto \pmatrix{ a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33}} \pmatrix{x_2\\x_2\\x_3}+ \pmatrix{b_1\\b_2\\b_3}. $$ Using the extension to $\mathbb{RP}^3$ we may write this as $$ \left[\pmatrix{x_1\\x_2\\x_3\\x_4}\right] \longmapsto \left[\pmatrix{ a_{11} & a_{12} & a_{13} & b_1\\ a_{21} & a_{22} & a_{23} & b_2\\ a_{31} & a_{32} & a_{33} & b_3\\ 0&0&0&1} \pmatrix{x_2\\x_2\\x_3\\x_4}\right], $$ where $[\cdot]$ denotes the equivalence class with respect to $x\sim\lambda x$ for any $\lambda\neq 0$. Notice that plugging $(x:y:z:1) = [(x,y,z,1)]$ into this gives you exactly the same result as the original affine transformation.

Now why would we like affine transformations to be expressible this way? Composing linear maps is easy: Multiply the representing matrices. So by going from $\mathbb R^3$ to $\mathbb{RP}^3$ we can compose even affine maps by just multiplying the representing matrices.

Another benefit, as mentioned by Gregory Grant, is that we now can do computations with points at infinity. For example putting a light source at $(x:y:z:0)$ for $(x,y,z)\neq 0$, allows us to describe parallel light in the direction $(x,y,z)$ in the same way as we describe radial light from some source located at a point in $\mathbb R^3$.