The real projective plane in homogeneous coordinates

Remember that the POINTS and LINES of the real projective plane are just the lines and planes of Euclidean xyz-space that pass through (0, 0, 0).

Homogeneous coordinates of POINTS and LINES

Both POINTS and LINES can be represented as triples of numbers, not all zero: (x, y, z) for a POINT and [a, b, c] for a plane. For example, (1, 4, 5) represents the POINT (i.e. the line) connecting (0, 0, 0) with (1, 4, 5); and, [2, 4, 5] represents the LINE (i.e. the plane) with equation 2x + 4y + 5z = 0. Notice that the POINT (a, b, c) is contained in the LINE [x, y, z] exactly if ax + by + cz = 0.

There is an aspect of these so-called homogeneous coordinates that takes some getting used to. To illustrate, notice that (1, 2, 1), (3, 6, 3) and (-5, -10, -5) are all points on the same POINT. So, each of these triples represent this same POINT. The same is true for LINES - for example, [2, 3, 2] and [4, 6, 4] represent the same LINE. But there is no need to panic: this ambiguity is of the same type as appears in fractions, happily dealt with in primary school; for example, the fractions 2/3, 4/6, and 14/21 are all the one and same number.

Intersecting LINES and connecting POINTS

To do geometry with our strange new POINTS and LINES, we need to be able to find the LINE connecting two POINTS, and the POINT of intersection of two LINES. In fact, both are very simple. If you think of the triples we are dealing with as vectors, then it turns out that both operations amount to finding a vector perpendicular to the two given vectors; such a perpendicular vector can be computed by the well-known cross product. For example, the LINE connecting the POINTS (1, 2, 1) and (0, 1, 0) is simply (1, 2, 1) x (0, 1, 0) = [-1, 0, 1].

Corresponding objects in our two models of the projective plane

To apply the above to real-world calculations, we need to formalise our transformation from the xy-plane to Euclid-1 and onto the POINT-LINE world, as outlined in the main text.


To recall the set-up, a point (x, y) in the xy-plane is identified with the point (x, y, 1) in Euclid-1, and so with the POINT (x, y, 1). Similarly, a line ax + by + c = 0 in the xy-plane has the same equation in Euclid-1 (but noting z = 1), and so corresponds to the LINE [a, b, c].

Going in the other direction, if z ≠ 0 then the POINT (x, y, z) corresponds to the Euclid-1 point (x/z, y/z, 1), and then to the point (x/z, y/z) in the xy-plane; in the case z = 0, the POINT (x, y, 0) corresponds to the slope (x/y), an infinite point in the projective plane. Similarly, unless a = b = 0, a LINE [a, b, c] corresponds to the line ax + by + c = 0 in Euclid-1, and so to the line ax + by + c = 0 in the xy-plane; the LINE [0, 0, 1] corresponds to the line at infinity of the projective plane.

As an example of a real-world calculation, let's find the intersection in the xy-plane of the two lines 2x + 3y + 4 = 0 and x + y − 1 = 0. Of course, the tried and true school method is to solve the simultaneous linear equations, by eliminating a variable. Here, we do it very slickly using homogeneous coordinates. The two lines correspond to the LINES [2, 3, 4] and [1, 1, −1]. Then the cross product of these two vectors, (−7, 6, −1), is the POINT of intersection. This gives the corresponding point of intersection ((−7)/(−1), 6/(−1)) = (7, −6) in the xy-plane.

Now, here is your final test question: use homogeneous coordinates to find the line connecting the points (1, 5) and (−3, 7). Here is a cross product calculator in case you need it, and here is the answer to your test question.

Your browser is completely ignoring the <APPLET> tag!


The simplest (affine) transformations of the xy-plane take lines to lines. For example, you may recall that rotations around (0, 0) and scalings away from (0, 0) can be represented as multiplication by 2x2 matrices. On the other hand, translations require a different format.

Similarly, 3x3 matrices can be used to describe the corresponding transformations of xyz-space. However, notice that these transformations also keep (0, 0, 0) fixed, and so they take POINTS to POINTS and LINES to LINES. If follows that transformations given by 3x3 matrices also describe transformations of the projective plane. And, it turns out that ALL line-to-line transformations of the projective plane can be so described − translations included!

This type of representation becomes particulary useful when we add another dimension to all our work, to analyse projective space. Taking a similar "projective" view of xyz-space, it is possible to express all line-to-line transformations of projective space using 4x4 matrices. It is then very easy to compose different transformations by simply multiplying together the corresponding matrices. This is why the projective approach is so widely used to describe transformations.


Return to article