Tiny nit / check of my understanding:
> It was already widely understood that projective geometry allowed one to represent rotations and translations in R^3 with a single linear operator on R^4.
I think it's projection operators (in linear algebra) that allow one to do that, not projective geometry [1]. The latter, AIUI, studies projective spaces and projective transformations on them (which differ from vector spaces and their transformations by including "points at infinity"), contains no concepts of length or angle (and therefore no equivalent of translations and rotations) and is in some sense "geometry with only the straightedge, no compass".
Curious if I'm just missing something there, though. I'm no expert on any of this.
As you say, projections and rotations are easily accounted for in linear algebra. The issue is that translations are not a linear transformation. For instance, consider f(x) = 2 + x. It's certainly not the case that f is linear -- that is, that f(cx + y) = c f(x) + f(y) -- because on the one hand we'd expect 2 + cx + y, and on the other we'd expect (2 + cx) + (2 + y), which is 4 + cx + y.
However, translation is an affine transformation, which is a particular case of a projective transformation [0]. It turns out that we can represent 3D affine (and general projective) transformations using a 4x4 matrix -- that is, as linear transformations in one dimension up, in a similar sense as how we can represent complex numbers as particular 2x2 matrices [1]. So yes, projective geometry is the right theoretical lens, even if we're usually able to forget about it (somewhat) when we use matrix representations.
[0]: https://en.wikipedia.org/wiki/Affine_transformation#Represen...
[1]: https://en.wikipedia.org/wiki/Complex_number#Matrix_represen...
Ah, interesting. I see "homogeneous coordinates" are covered later in the book I've just started reading (Projective Geometry, Coxeter) as a way of representing projective space. I think that's the link I couldn't see.
Thanks!
It's one and the same, or rather, one is a special case of the other.
The homogeneous coordinate system used to represent affine transforms in R^n using linear transforms in R^(n+1) is exactly the same as what is used to represent projective transforms in the projective space P(R^n). This is famously exploited in 3D graphics where 4x4 matrices can represent linear and affine transforms and perspective projections (modulo the final w-division normalization step).
Affine transforms are a special case of projective transforms where the last row (or column depending on convention) vector is (0, ..., 0, 1).
Yes, I think I understand it (or am at least on the way to understanding it) now. Thanks!