liveBook · Manning

Homogeneous coordinates

As explained in Geometry for Programmers

A homogeneous coordinate is an augmented coordinate representation that encodes points in projective space and supports transformations with matrix operations.

Homogeneous coordinates extend a Euclidean coordinate tuple with a denominator-like coordinate w. A 2D point can be written as (xp, yp, wp), with Euclidean coordinates recovered by xe = xp/wp and ye = yp/wp when wp is nonzero. Scaling every component by the same nonzero value does not change the represented point: (1, 0, 1) and (2, 0, 2) coincide. section 4.3.1 section 4.7

The added coordinate expands Euclidean space with points infinitely far away, represented by w = 0. This projective viewpoint makes central and parallel projection instances of the same geometric idea rather than separate special cases. section 4.3.1 section 4.7

The practical payoff is a common matrix-based representation for transformations:

  • Translation, rotation, scaling, shear, and projective transformation can all be expressed as matrix multiplication. section 4.3.3
  • Several transformations compose into one matrix, so a transformation pipeline remains a single projective transformation. section 4.3.3 section 4.7
  • Equivalent homogeneous polynomial forms can reduce separate surface-handling cases to one expression with different coefficients. section 4.3.1
  • Inverse transformations can be treated more broadly than inverse matrices and may be computed faster in suitable cases. section 4.7

A point with two homogeneous forms

The Euclidean point (1, 0) may use homogeneous form (1, 0, 1). Multiplying all entries by 2 gives (2, 0, 2), still the same point, because dividing by w returns (1, 0). This scale freedom is what lets projective coordinates represent ordinary points and points at infinity in one system. section 4.3.1 section 4.7

Figure 4.16 An example of central projection. Projection lines intersect in the center of the projection.
04-16

Compare central projection with the parallel-projection view: projective space treats their geometry uniformly by including infinitely far points. section 4.3.1

How Geometry for Programmers covers it

How deep it goes
Defines coordinate scaling and Euclidean conversion, then connects them to points at infinity, transformations, inverses, and surface formulas.
Examples
Contrasts equivalent tuples (1, 0, 1) and (2, 0, 2) and compares central with parallel projection.
What it assumes
Builds the required projective intuition without special prior knowledge, while warning that space expansion is mentally demanding.
What you can do after
Apply homogeneous-coordinate matrices to compose transformations, derive custom projective mappings, and reason about inverse operations.
How it connects
Connects projective space, matrix multiplication, translation, rotation, scaling, shear, projections, inverse transformations, and homogeneous polynomials.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Geometry for Programmers. The section links point to the parts of the book it draws on.