Projective space extends Euclidean space so that geometric transformations can be handled more uniformly. The practical payoff is less duplicated transformation code and more direct control over the mathematics behind CAD, game-engine, and geometry-framework routines. section 4.0 section 1.3
Use homogeneous coordinates to represent a 2D point as (xp, yp, wp). The extra value w is a denominator rather than another spatial dimension: when wp is nonzero, the Euclidean coordinates are xe = xp/wp and ye = yp/wp. A Euclidean point therefore has many projective representations, all differing by a shared nonzero scale. section 4.3.1
One point, many coordinate tuples
The Euclidean point (1, 0) may be written as (1, 0, 1), (2, 0, 2), or (505, 0, 505) in projective coordinates. Keeping w = 1 is usually pragmatic because other choices require division when converting back to Euclidean coordinates. section 4.3.1
Coordinates with wp = 0 are still projective points, but they cannot be converted to Euclidean coordinates because division by zero is undefined. This is how projective space enlarges Euclidean space rather than merely adding a coordinate dimension. section 4.3.1
This expansion takes effort to visualize, but it supports a useful computational trade: homogeneous coordinates let generalized geometric transformations become matrix multiplications, helping with composition, inversion, and constructing transformations from displaced points. section 4.3 section 4.0
Figure 4.16 An example of central projection. Projection lines intersect in the center of the projection.
Compare central projection with parallel projection: projective space treats the parallel case as the same kind of construction. section 4.3.1
