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.
Compare central projection with the parallel-projection view: projective space treats their geometry uniformly by including infinitely far points. section 4.3.1
