upvote
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...

reply
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!

reply
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).

reply
Yes, I think I understand it (or am at least on the way to understanding it) now. Thanks!
reply