The story so far
I made a promise to someone on Twitter to talk about how conics relate to the line at infinity, but when I came to do that, I realised it’s a can of worms that will take a few blog posts to untangle. Last time, I talked about how I construct and think about the line at infinity itself.
Back in that post, we added a line to our plane called the “line at infinity” made up of “points at infinity”. These points were really the slopes of the straight lines in our original plane, but we extended our imagination to give them a sort of physical reality. This produced a pleasant symmetry in the way points and lines interact. Two points share a unique line; two lines share a unique point. Now I’ll talk about how we might add coordinates to these new points at infinity.
A first attempt
All our ordinary points already have coordinates like this: (0,0), (1,3), (1/2, 2004), (-24, π). That is, they have coordinates that are two real numbers in pairs. We can’t make any more new coordinates like this, because we’ve already used up all the real numbers. Our new points are slopes, so we could just give them one coordinate, which is the slope that they really are. For example, the lines with equations y=2x+1, y=2x and y=2x-7 could all share the point at infinity with coordinate (2). This isn’t such a bad solution, but it will require us to deal with lines of the form x=4, x=0, x=-17. We could give their point at infinity a coordinate of (∞), I suppose.
This is actually one of the ways that people do go about giving coordinates to the points at infinity. It preserves their “true” nature as the slopes of lines, and makes some rather useful connections to some other ideas in this corner of geometry. But I find it a bit unsatisfying. The whole idea of this was to elevate slopes to the status of proper points and here we are reminding ourselves of their origins as slopes. It feels like a sort of discrimination. Plus, I’d really love a system of coordinates that highlights the symmetry with lines in some way, which was the other reasons to introduce these points at infinity in the first place.
Coordinates for lines?
So let’s seek out a new way of doing coordinates. Since one of the goals is to emphasise the point-line symmetry, maybe the best place to start is to look at the lines.
Lines have equations. Most lines have equations of the form y=mx+c, for some numbers m and c, but this misses out the vertical lines of the form x=k, for some number k. To include all lines in one equation format, you can write them as ax + by = c for some numbers a, b and c. For reasons that will hopefully be clear later, I prefer to write them like this: ax + by + c = 0.
These numbers a, b and c are likely candidates to be coordinates for our lines. They describe very clearly which line we have in a way that relates nicely to our existing understanding of lines. So we could make the coordinates of our line [a,b,c]. The problem is that it’s not really “the” coordinates is it? In this format, every line has multiple equations. The line with equation 2x + 3y +7 = 0 also has equation 4x + 6y + 14 = 0 and x + 3/2 y + 7/2 = 0 and -2/3 x – y – 7/3 = 0 and 200 x + 300 y + 700 = 0 and so on. This gives us coordinates of [2,3,7], [4,6,14], [1,3/2,7/2],[-2/3,-1,-7/3], [200,300,700] and so on . I suppose that’s not so bad, though — we can just say that any multiple of our coordinates for a line represents the same line.
Coordinates for points
So, can we do this for points? To make their coordinates match with the ones we have for lines, we should extend them to three coordinates. I suppose this makes sense because we’d already used up all the possibilities when we used two coordinates; it seems natural to just add an extra coordinate to our existing two in order to accommodate the extra points. But what should our third coordinate be? Maybe the way to solve this is to look at how points interact with lines.
The point (-5,1) is on the line with equation 2x + 3y + 7 = 0, because when I substitute the coordinates of the point into the equation, it works: 2*(-5) + 3*1 +7 is indeed 0. Let’s look at how that works when you use our new “coordinates”. We have a point with an extra coordinate (-5,1,?) — we don’t know what the extra coordinate is yet — and a line with three coordinates [2,3,7] and we combined them together like this 2*(-5) + 3*1 +7. Hmm. The first coordinate of the point matched up with the first coordinate of the line, the second coordinate of the point matched up with the second coordinate of the line. It seems reasonable that the third coordinate of the point ought to match up with the third coordinate of the line in the same way. That is, our calculation ought to be 2*(-5) + 3*1 +7*(?). If this is going to work, that ? has to be a 1.
So, our ordinary point (-5,1) has new coordinates (-5,1,1), and we’ll say any point (x,y) has new coordinates (x,y,1). We’ve tacked on an extra coordinate, which is designed to combine with the constant term in our line equation. I’ve used the traditional x and y for the first two coordinates, since that’s what I was using in my line equations above anyway. We need a name for this last coordinate too. I don’t want to call it z, because we’re not really in 3D space. How about w? (Really I’d prefer to use the Greek letter omega ω, so that it means “the very end”, with reference to “alpha and omega”, but it looks like a w anyway and I can’t be bothered doing the symbol all the time.)
Our line equations turn from ax+ by + c=0 to ax + by + cw=0, and it’s still true that you can tell if a point is on a line by substituting its three coordinates into the line equation. Alternatively, you could do the sumproduct (official name: dot product) of the line’s coordinates and the point’s coordinates: [a,b,c].(x,y,w) = ax + by + cw =0. Lovely and symmetrical.
But it’s a bit bizarre to only be able to have a 1 in that last coordinate. What would happen if I had a 2 there? Well, with line coordinates any multiple of the coordinates represented the same line, why not do that for points too? Let’s check if it works: the point (-5,1,1) was on the line with equation 2x + 3y + 7w=0. Does (-10,2,2) work? Well, 2*(-10) + 3*2 + 7*2 = -20+6+14 =0. Yes it does. And I can see how that would work for any other multiple — we just multiplied each term by the same number, which is the same as multiplying the whole thing by that number, so the answer would have to still be 0. Now the symmetry is even more lovely — lines have three coordinates and any multiple of them represents the same line, and points have three coordinates and any multiple of them represents the same point.
Just one more thing to wrap up: if we do have a random set of three coordinates like (6, -9, 3), how do we tell what its original set of two coordinates are? Well, you know that a point like (x,y) has coordinates (x,y,1) so all we have to do is make that third coordinate into a 1 and we’ll be good. We can divide by 3 to get (6,-9,3) = (2,-3,1) so the original point was (2,-3). In general we’ve got that a random point with coordinates (x,y,w) has its original coordinates (x/w,y/w). So we can now convert back and forth between our old coordinates and our new coordinates.
Coordinates for the points at infinity
This is all well and good, but the whole purpose here was to have coordinates for our points at infinity! So far we just have coordinates for our ordinary points and our ordinary lines! Admittedly they are wonderfully symmetrical, but was that really worth the effort?
Well yes it was, because we haven’t covered all the possibilities for three coordinates, and those missing possibilities ought to cover our new points. All the ordinary points have a 1 in their third coordinate when you first construct them. If you multiply all three coordinates by a number, the third coordinate will be whatever that number is. But importantly, it won’t be zero. (It doesn’t make any sense to multiply them all by zero, or (0,0,0) could be any of our points and that’s just confusing.) So all of our ordinary points have a nonzero third coordinate — we’re missing all the points with 0 in their third coordinate. These ought to be our points at infinity.
If they really are points at infinity, then they ought to be the points where lines of the same slope meet. Let’s give it a go with an example. Take two lines with the same slope: 2x + 3y +1 = 0 and 2x + 3y + 7 = 0. In our new coordinate system, there’s a third coordinate which attaches itself to the constant term, so we have 2x + 3y + w = 0 and 2x + 3y + 7w = 0. Subtracting these two gives us 6w = 0, so w=0. That’s promising. Whatever point is on both those lines has 0 as its third coordinate. I wonder what the other coordinates are? Let’s sub w=0 back into the first equation: 2x + 3y =0 => 3y = -2x => y = -2/3x. Hmm. I can’t figure out what the other coordinates are from here. Oh, well, the point will be something like (x, -2/3x, 0). But wait a minute! Any multiple of this set of coordinates ought to be the same point, so I could just divide by x! So my point is (1,-2/3, 0). Brilliant. Interestingly, that number -2/3 is exactly the slope of our line, so it turns out we do have the slope as part of our coordinates after all!
Let’s try this in general with the lines ax + by + cw = 0 and ax + by + dw = 0, with c not equal to d. Subtracting these gives (c-d)w=0, so w=0. So definitely whatever point is on both those lines has its third coordinate equal to zero. And subbing this back into either gives ax + by =0. Hmm. I can’t do what I did last time and just divide by a or b because one of them might be zero. But I can guess a point satisfying the equation. It’s (-b,a,0) and any multiple of that will do. If b isn’t zero I can get (1,-a/b,0), which has the slope of the line as its second coordinate. Excellent.
An equation for the line at infinity
This just leaves the line at infinity as a line. We already know that all the points on the line at infinity have their third coordinate equal to zero, so the equation of the line at infinity ought to be w=0. Let’s see if this matches up with our missing coordinates.
All the ordinary lines have equations like ax + by + c = 0, based on the old coordinates. You can’t have both a and b being zero or there would be no points (x,y) satisfying the equation. But any other combination of a and b will be fine. In our new coordinates, this means we have covered all equations ax + by + cw = 0 where a and b aren’t both zero; that is, all line coordinates [a,b,c] where a and b aren’t both zero.
What happens if a and b are both zero? Well then we have cw = 0, which is w=0. In line coordinates this is [0,0,c] which is the same as [0,0,1] when I divide by c. I know I can divide by c, because it doesn’t make sense to have all the coordinates being zero — 0x + 0y + 0w =0 is always true, so this wouldn’t define a line but the entire plane.
A system of coordinates that works
So now we have a complete system of coordinates for both points and lines, whether ordinary or at infinity. They’re usually called “homogeneous coordinates” because the points and lines have the same set of coordinates, and because all the parts of the new line equations are the same – there’s no constant term anymore.
- Points with old coordinates (x,y) have new coordinates (x,y,1) or any nonzero multiple of that.
- Points with new coordinates (x,y,w) for w not zero have old coordinates (x/w, y/w).
- Points with new coordinates (a,b,0) are points at infinity.
- A line with old equation ax + by + c = 0 has new equation ax + by + cw = 0, and it has coordinates [a,b,c] or any nonzero multiple of that.
- The line at infinity has equation w=0, and it has coordinates [0,0,1] or any nonzero multiple of that.
- A line with old equation ax + by + c = 0 (and new equation ax + by + cw = 0 and coordinates [a,b,c]) has one point at infinity which has coordinates (-b,a,0) or any nonzero multiple of that.
- A line with slope m has one point at infinity which has coordinates (1,m,0) or any nonzero multiple of that.
So what’s the benefit of all this? Well, the goal was to have coordinates for our points that allowed us to have coordinates for the points at infinity, and we’ve done that. What more do you want?
The real question is, why do we need coordinates at all? Well, one use for coordinates is locating things, such as the point where two lines meet, or the line that two points define. Our new coordinates unify this approach quite a lot. I’m not going to prove that it works now (maybe another day), but if I want to find the point where two lines meet, I just need to do the cross product of the two line coordinates. And if I want to find the line joining two points, I just need to do the cross product of the two point coordinates. This is fabulous!
For example, where do the two lines with old equations 2x + y +2 = 0 and -x + 3y – 8 =0 meet? Well, they have coordinates [2,1,2] and [-1,3,8], whose cross product is (-14,14,7) = (-2,2,1). And yes this point does actually satisfy both equations.
What is the equation of the line that joins the points with old coordinates (1,5) and (2,-7)? Well they have new coordinates (1,5,1) and (2,-7,1) whose cross product is [12,1,-17], so the line has equation 12x + y -17 =0.
And what is the equation of the line with slope 2 through the point with old coordinates (3,-4)? Well the point at infinity for lines with slope 2 is (1,2,0) so we need the cross product of (1,2,0) and (3,-4,1). This is [2,-1,-10] so the line has equation 2x – y -10 =0.
I find this rather awesome, but not as awesome as the fact that lines and points now have coordinates that are not different in any essential way. That is really wild!
The other thing that coordinates can do is allow us to define objects using equations. We’ve already defined our lines using equations. The next kind of object is a conic, which is very very cool…