As understood commonly by hundreds of pictures that each one of us have taken, projective geometry arises from a transformation - from the familiar 3D Euclidean space that we associated with the real world onto a 2D space, that of each picture. From our experience, circles in 3D Euclidean space are not preserved in the 2D space as they show up as ellipses and the same can be said about distances, angles, ratios of distances. We are also very familiar with straight lines are preserved and how parallel lines in Euclidean space are shown as intersecting as for example in this picture.
We can define a projective space as an extension of the Euclidean space where two lines always intersect at some point but some lines (parallel lines) intersect at infinity. We call a space homogenous when all its points are the same - this is true for both the classical Euclidean space as well as its extension the projective space. When coordinates are added in such spaces, seemingly we are picking out for the case of Euclidean spaces a “special” point and call it the origin but this does not change the homogenous nature of the space in that any point can be the origin.
An affine space of dimension is a set of points, say together with an associated vector space of dimension . It is equipped with two operations:
- Point subtraction: (gives a vector)
- Point translation: (moves a point by a vector)
- Represent points at infinity (when ) — useful for parallel lines in perspective projections.
- Encode various transformations (e.g., perspective camera models, 3D projection) as linear matrix operations as shown next.
Transformations in homogeneous coordinates
In this section we show common 2D transformations using homogeneous representations.Rigid Transformation
A rigid transformation preserves lengths and angles — it includes rotation and translation, but no scaling or shearing. Matrix form:- : rotation angle
- : translation
Similarity Transformation
A similarity transformation includes rotation, translation, and uniform scaling. It preserves shape but not necessarily size. Where is the scaling factor.Affine Transformation
Affine transformations include translation, rotation, scaling, shearing, and combinations. They preserve parallelism of lines but not necessarily lengths or angles. This is the most general linear 2D transformation with translation.Example
We implement below various transformations using homogeneous coordinates:

