Homogeneous Coordinates

by William Shoaff with lots of help

Euclidean space can be extended into projective space by the introduction of a homogeneous coordinate. Given a finite point (number) (x) in one dimension:


\begin{picture}(144,20)
\put(72,10){\vector(1,0){72}}
\put(72,10){\vector(-1,0){...
...*{2}}
\put(72,0){$O$ }
\put(108,10){\circle*{2}}
\put(108,0){$x$ }
\end{picture}
(wx, w), $w\neq 0$ are the homogeneous coordinates for (x). Notice that we can think of the homogeneous coordinates as a punctured line is a two dimensional projective space:


\begin{picture}(144,144)
\put(72,70){\vector(1,0){72}}
\put(72,70){\vector(0,1){...
...2){$O$ }
\put(74,71){\line(2,1){72}}
\put(70,69){\line(-2,-1){72}}
\end{picture}
For example if x=2 we get the line $(2w,w),\,-\infty < w < 0,\,0 < w < \infty$.

If $(a,\,b)$ are homogeneous coordinates, they represent the point (number)

\begin{displaymath}\frac{a}{b} = x.\end{displaymath}

Homogeneous coordinates of the form (x, 0) describe the point at infinity in projective space. This might make sense if you consider what happens to x as $b\rightarrow 0$while a remains fixed in the expression

\begin{displaymath}\frac{a}{b}.\end{displaymath}

In two dimensions a point (x, y) has homogeneous coordinates $(wx,\,wy,\,w),\,w\neq0$. This is again a punctured line in three dimensions. Homogeneous coordinates of the form $(a,\,b,\,c)$ represent the two dimensional point $(x,\,y)$ where

\begin{displaymath}x = \frac{a}{c},\quad y = \frac{b}{c}, \quad c\neq0.\end{displaymath}

Coordinates $(a,\,b,\,0)$ for which

\begin{displaymath}\frac{a}{b} = \lambda\end{displaymath}

describe the point at infinity along the line with slope $\lambda$.

In three dimensions a point $(x,\, y,\,z)$ has homogeneous coordinates $(wx,\,wy,\,wz,\,w),\,w\neq0$. Once again, this is a punctured line, but now it is in four dimensions. Homogeneous coordinates of the form $(a,\,b,\,c,\,d)$ represent the three dimensional point $(x,\, y,\,z)$ where

\begin{displaymath}x = \frac{a}{d},\quad y = \frac{b}{d}, \quad z = frac{c}{d}, \quad d\neq0.\end{displaymath}

Coordinates $(a,\,b,\,c,\,0)$ describe the point at infinity.

What's in a name?

The term homogeneous comes from writing expressions and equations in a common (homogeneous) format, for example, we can write the polynomial

p(x) = 3x2+5x-4

in homogeneous form

p(x) = 3x2+5x1-4x0,

or we can write the linear equation

3x+5y-4=0

in homogeneous form

\begin{displaymath}3wx+5wy-4w=0,\,w\neq 0.\end{displaymath}

Where are homogeneous coordinates used?

We'll use homogeneous coordinates to write translations using matrix notation, that is, the translation

\begin{displaymath}(x,\,y) \rightarrow (x+t_x,\,y+t_y)\end{displaymath}

can be written as

\begin{displaymath}\left(\begin{array}{ccc}x & y & 1 \end{array}\right)
\left[\...
...
\left(\begin{array}{ccc}x +t_x & y+t_y & 1 \end{array}\right).\end{displaymath}

We'll also use homogeneous coordinates to represent prespective transforms and they are used to represent ``pre-multiplied'' colors

\begin{displaymath}(\alpha r, \,\alpha g, \, \alpha b,\, \alpha).\end{displaymath}

No References!



William D. Shoaff
2000-09-11