Homogeneous Coordinates

Homogeneous coordinates came from efforts of study perspective, but it shows up all over the places. It is invented by Möbius.

Basic Ideas

Consider a 2D plane that does not pass through the origin in 3D. Then any line passing through the origin in 3D correspond to a point on that 2D plane. homogenous_coordinate_basic_idea_2d.jpg The idea is that any point on the line can represent the point .

The idea should naturally remind you of perspective.

More explicitly, consider a point and the plane in 3D, then any is the homogeneous coordinate of if .

For example, is the homogenous coordinates of for .

Translation in Homogeneous Coordinate

2D translation becomes a 3D sheering (which is linear) in the homogenous coordinate. We can verify that 2D translation is indeed linear in 3D space.

To write as a matrix, recall that a shear in the direction according to the distance along a direction is

In matrix form:

In our case, and so we get a matrix

Other Transformations in Homogeneous Coordinate

Homogeneous coordinate won’t impact linear transformations such as scaling and rotation.

3D Transformations in Homogeneous Coordinate

  • Not much changes algebraically

Points Vs Vectors in Homogeneous Coordinate

Homogeneous coordinates has a clear distinction between point and vectors.

  • w = 0 for vector
  • w = 1 for points

We can consider a vector an infinitely far-away point.

Perspective Projection in Homogeneous Coordinate

See: perspective

  • pinhole camera (divide by z)
  • we can build a matrix that copy the z-coordinate into the homogeneous coordinate

References