Homogeneous coordinates are a way to represent points using one extra coordinate.
Instead of writing a 2D point as
The actual point is recovered by dividing by
So
all represent the same point in the plane.
Why this is useful
At first this looks pointless because we added an extra number just to divide by it later.
The reason homogeneous coordinates matter is that they let us treat translations the same way we treat other linear transformations: with matrix multiplication.
In ordinary 2D coordinates, rotation and scaling can be written as matrix multiplication, but translation cannot.
For example:
is not a linear transformation, so there is no
But in homogeneous coordinates, we can write:
This is the main idea: the extra coordinate lets translation become part of the matrix.
Standard form
Usually a 2D point
and a 3D point
Important interpretation of w
- If
, we usually think of it as a normal point - If
, it represents a point at infinity or a direction
This is what makes homogeneous coordinates useful in Computer Graphics, Projective Geometry, and vision.
It separates:
- actual locations, like
- pure directions, like
This also explains why parallel lines can be thought of as meeting “at infinity” in projective geometry.
Intuition
Homogeneous coordinates are basically a trick that:
- adds one extra dimension
- makes more geometric operations look like plain matrix multiplication
- treats points that differ by a nonzero scale factor as equivalent
So the real mental model is not “a point has three coordinates now”.
The better mental model is:
We are storing a point in a format that makes the algebra easier.
Connection to linear algebra
This is similar in spirit to how we sometimes rewrite a problem in a slightly bigger space so the structure becomes cleaner.
Homogeneous coordinates do that for geometry.
They let us package:
- rotation
- scaling
- shear
- translation
into one matrix framework.