I've known about homogeneous coordinates and points at infinity for a very long time, but never had much reason to use them. I've used homogeneous coordinates to represent translations using transform matrices, but nothing else.
I had an idea a couple of days ago (relating to optimization) which seems to require points at infinity. But I immediately ran into problems. As soon as I sat down and thought through what points of infinity actually are, I found what seemed like a fundamental problem with my understanding - it contradicts Euclid's axioms. I knew I had an old book that covers the subject, so I went back to that and checked. That didn't resolve the issue, it just allowed me to state the contradiction (hopefully) more clearly.
So - the book is Applied Geometry for Computer Graphics and CAD, by Duncan Marsh, ISBN 1-85233-080-5, first edition, published by Springer-Verlag in 1999. Chapter 2 is 'Homogeneous Coordinates and Transformations of the Plane'.
The almost complete first paragraph of section 2.2 'Points at Infinity' is...
Homogeneous coordinates of the form $(x, y, 0)$ do not correspond to a point in the Cartesian plane, but represent the unique point at infinity in the direction $(x \; y)$. To justify this remark, consider the line $(x(t),y(t)) = (tx + a,ty + b)$ through the point $(a, b)$ with direction $(x \; y)$. The point $(tx + a, ty + b)$ has homogeneous coordinates $(tx + a,ty + b, 1)$ and multiplying through by $1/t$ (for $t \neq 0$) gives alternative homogeneous coordinates $(x + a/t,y + b/t, 1/t)$. Points on the line an infinite distance away from the origin in the Cartesian plane may be obtained by letting $t$ tend to infinity. The limiting point of $(x + a/t,y + b/t, 1/t)$ as $t > \to \infty$ is $(x, y, 0)$. Therefore, it is natural to interpret the homogeneous coordinates $(x, y, 0)$ as the point at infinity in the direction $(x, y)$.
Limits sometimes worry me. The limit of a function that approximates another function at a given point is often taken as the value of the function being approximated at that given point, but that can lead to non-unique values and to contradictions. An example is the tangent of 90 degrees - take the limit of an approximation and you get either $+\infty$ or $-\infty$ depending on which side you build your approximation function to approach from. Here, Marsh takes a formula along one particular line, takes a limit, and declares that the result is the "point at infinity", in doing so implying that the homogeneous coordinates resulting from that limit represent that "point at infinity" uniquely.
I don't believe that's true. I believe that even though that formula describes the points along a line, the limit isn't a point at all - it's a direction. Which doesn't mean it's not a useful concept, but it does seem important to have the right intuitions. But first, I claimed a contradiction with Euclid's axioms...
The relevant axioms are usually listed as the first two...
- A unique line segment can be drawn between any two distinct points.
- Any finite straight line segment can be extended indefinitely, to form a unique infinite line.
The point is that although Marsh only discusses taking $t \to +\infty$, it's just as valid to take $t \to -\infty$. Obviously if an unbounded line has any points at infinity, it has two. And two points are exactly what you need by Euclid's axioms to define a unique line. I list Euclid's second axiom only to assert that those lines drawn from distinct finite points aren't somehow distinct from those drawn between distinct points at infinity (presumably the justification for evaluating points at infinity from that limit).
However, any two parallel lines - with emphasis on distinct parallel lines - have the same two points at infinity. By Euclid's axioms, that apparently means they're all the same line after all - any straight line is a space-filling curve. That's clearly absurd.
The claim that the result from the limit uniquely identifies a point at infinity is then almost immediately used to justify the claim that any pair of parallel lines has a unique intersection at infinity. As far as I'm aware this is a standard use for points at infinity using homogeneous coordinates. But if distinct parallel lines really are distinct, I believe I've just proven that the homogeneous coordinates of a point at infinity do not uniquely identify a point at infinity. Distinct parallel lines share the same two "point at infinity" homogeneous vectors but aren't the same line. Those two opposite "point at infinity" vectors are not sufficient information to uniquely identify one line. If a line is to be drawn between two "point at infinity" homogeneous vectors, those vectors don't contain sufficient information to identify which particular line.
An alternative argument is basically to forget Marshes limit and look at the the parallel lines themselves. The distance between them is constant, no matter how far along them you travel. Even at infinity, the distance between them is unchanged. Therefore, they don't intersect.
So in short, I'm claiming that...
- Homogeneous coordinate vectors in which the "extra" ordinate is zero represent directions, not (absolute or relative) positions, in the underlying non-homogeneous space.
- I think of the extra ordinate as representing sensitivity to translation - the idea that directions (without magnitude) are insensitive to translation seems very reasonable, and this fits with that limit "forgetting" which particular parallel line it approaches infinity along.
- A point and a direction is sufficient to uniquely define a line. Two precisely opposite directions (the two directions along the same line) give no more information than just one direction, and are not sufficient to uniquely identify a line. With no reason to "miss" the origin, it might be tempting to draw the line through the origin, but all the parallel lines have equal claim to be "the" line with that direction.
- Rather than being able to drawn lines between any two arbitrary "points at infinity", lines with two distinct non-opposite directions are self-contradictions.
- Parallel lines don't intersect, not even at either or both of their respective infinities. If points at infinity exist as actual points, they cannot be uniquely identified purely by homogeneous coordinates that describe translation-insensitive directions.
Have I made some stupid error in this? (I don't think so, but then I never do at the time). Has Marsh misled me? When points at infinity are used correctly, do Euclids axioms need to be worded slightly differently than I have them? Is the name "points at infinity" just a name that shouldn't be taken too literally for something that's really just a direction?
BTW - I don't think this breaks my idea - a direction as a "point at infinity" should be fine just so long as I'm clear what I can do with that direction - what makes geometric sense and what doesn't. The idea itself is far too obvious to be original, but I want to work it out for myself.
I've held back from adding extra tags (e.s.p. homogeneous-spaces) because I'm not sure they're appropriate.