Start with the problem, not the solution. Two operations you need constantly are not linear maps on or :
- Translation. No matrix moves the origin, because every linear map fixes it.
- Perspective projection. divides by a coordinate, and division is not linear in anything.
You could handle both with special cases — an affine "matrix plus offset" here, a manual division there. Every graphics and vision library did that once, and the result was code where the order of operations was a matter of local convention. Homogeneous coordinates make both operations ordinary matrix multiplications, and that is the entire justification.
The move is this. Represent a 2D point by any 3-vector with . So is represented by , and equally by and by . A homogeneous vector names a direction in — i.e. a line through the origin — and the set of such lines is the projective plane .
To read a Euclidean point back out, divide by the last coordinate:
The is doing real work: it means "equal up to scale", and it is the equality that holds in . Two homogeneous vectors are the same point if one is a nonzero multiple of the other.
What happens when ? Then has no Euclidean equivalent — you cannot divide. These are the points at infinity, and each one encodes a direction rather than a location. The point is "infinitely far along the axis"; so is , which is the same point, because scale does not matter.
This is not a patch to handle a degenerate case. Parallel lines genuinely do meet, at the point at infinity corresponding to their shared direction, and a camera genuinely does image that point at a finite pixel — a vanishing point. The railway-tracks photograph is not an illusion; it is being correct.
Join and meet are the same operation
-
The line through two points is their cross product.
-
A cross product is orthogonal to both its arguments — so both points satisfy the line equation. That is what "the line through them" means.
-
The intersection of two lines is the cross product of the lines. Same operation, arguments swapped in role.
-
A line in P² is also a 3-vector, defined up to scale. Points and lines are interchangeable — this is duality, and it is why one function computes both.
Two lines in an image both pass through the vanishing point of the ground plane. What does that tell you about the world lines they are images of?
Show answer
That they are parallel in the world. A vanishing point is the image of a point at infinity, and a point at infinity is a direction; two world lines whose images share a vanishing point share a direction. This is the basis of every single-image calibration trick: find three mutually orthogonal vanishing points and you have constrained without a calibration target.