The Projective Transformation Hierarchy
Camera geometry is a constant stream of maps applied to points: a rotation, a change of units, a perspective projection, a homography estimated from correspondences. Each of those maps destroys a different amount of geometric structure, and knowing which structure survives is what lets a reconstruction be upgraded from projective to affine to metric. Those maps are not arbitrary — they fall into four nested groups, and this page is a tour of the whole stratification.
Not all transformations are equally destructive
Motivation
Every step of a 3D reconstruction pipeline applies a map to points. Rotating the world into a camera frame is one map; scaling metres to millimetres is another; projecting 3D points onto an image plane is a third; and estimating a homography between two views of a plane is a fourth. What differs drastically between them is how much of the geometry they destroy. A rotation is harmless — distances and angles come out exactly as they went in. A general homography is brutal — it can turn a square into an arbitrary convex quadrilateral.
This matters because the maps are nested. The rigid motions sit inside the similarities, which sit inside the affine maps, which sit inside the projective maps. If you know which group a map belongs to, you know immediately what it preserved and what it destroyed — lengths? angles? parallelism? ratios along a line? That kind of bookkeeping is what makes it possible to upgrade a reconstruction: start from a purely projective reconstruction (nothing known but incidence), and add constraints until you have recovered affine structure (the plane at infinity) and then metric structure (the absolute conic). The hierarchy is the roadmap for that upgrade, and it is the subject of this page.
The four groups and their invariants
The stratification
On P², the four groups form a nested chain, each one adding a degree or two of freedom and giving up an invariant in exchange:
In normal form, with a 2D point written homogeneously as (x, y, 1), each group is a 3×3 matrix of a specific shape:
similarity: [[sR, t], [0, 1]] s a single nonzero uniform scale
affine: [[A, t], [0, 1]] A any invertible 2×2 (adds shear / anisotropic scale)
projective: [[A, t], [v₁, v₂, v₃]] any invertible 3×3, last row arbitrary
Read the degrees of freedom off the matrix entries and then subtract the overall scale of a homogeneous matrix, which is meaningless:
similarity: Euclidean (3) + scale s (1) = 4 DOF
affine: A (4) + t (2) = 6 DOF
projective: 9 entries − 1 overall scale = 8 DOF
Each extra freedom is a quantity that is no longer preserved. Euclidean maps keep lengths and angles. Similarity adds a uniform scale, so lengths change but ratios of lengths along a line and all angles are safe. Affine adds shear and per-axis scaling: now angles and length ratios along a line die, but parallelism, ratios along a line, ratios of areas, midpoints, and convexity all survive. Projective keeps only incidence, collinearity, concurrency, tangency, and cross-ratio.
The geometric way to see the same stratification is through what each group does to the line at infinity l∞ = (0, 0, 1):
similarity: fixes the two circular points on l∞
Euclidean: additionally fixes the metric structure Ω∞ (no shear, no scale)
Cross-ratio: the projective invariant
The one thing that survives
Take four collinear points A, B, C, D on a line, and measure their directed distances along that line. The cross-ratio is the ratio of the ratio of those distances:
where AC means the directed distance from A to C along the line. This is the one metric-flavored quantity that any projective map leaves untouched. To see why, parametrize the line so that the four points sit at parameters a, b, c, d; then AC is just c − a, and a projective map of the line — the most general invertible map that keeps incidence — is a fractional-linear substitution:
Apply it to two of the parameters and simplify. The difference of two images is:
and similarly for every other pair. Assembling the cross-ratio, each of the four differences contributes the common factor (αδ − βγ) — which cancels between numerator and denominator — and the remaining denominator factors cancel pairwise:
= [ (f(c)−f(a)) / (f(c)−f(b)) ] / [ (f(d)−f(a)) / (f(d)−f(b)) ]
= [ (c−a)/(c−b) ] / [ (d−a)/(d−b) ] = (a, b; c, d)
The point is that the arbitrary constants α, β, γ, δ fell out entirely: the cross-ratio depends only on the four points, never on the map. An affine map is the special case γ = 0, so it preserves plain ratios along the line as well — a projective map does not, and cross-ratio is exactly the extra structure that rescues the notion. A particularly important value is the harmonic case (A, B; C, D) = −1, where C and D divide the segment AB internally and externally in the same ratio; it is the invariant that isolates conjugates. And on the line at infinity, the cross-ratio of the two circular points with any other pair is what ties projective geometry back to Euclidean angle measure.
(A,B;C,D) comes out identical on both lines. Drag any point and watch both values track each other exactly.Top: four draggable collinear points. Bottom: the same four points after the projective remap t′ = 6t/(t+4). Labels travel with the points.
Directed distances along each line; (A,B;C,D) = (AC/BC)/(AD/BD). Under an affine remap ratios along the line would also survive — under this genuinely projective remap they don’t, but the cross-ratio still does.
Play: classify a transform by which invariants survive
Interactive
Drag the four orange handles. Classification: square/rotated square = Euclidean (3 DOF), uniformly scaled = similarity (4), parallelogram = affine (6), anything else = projective (8).
Cheat sheet
Recap
| Group | DOF | Preserves | Destroys | Where it appears |
|---|---|---|---|---|
| Euclidean | 3 | Lengths, angles, parallelism, ratios, area ratios, cross-ratio | Nothing metric (only position) | Rigid camera motion, change of coordinate frame |
| Similarity | 4 | Angles, parallelism, ratios along a line, area ratios, cross-ratio | Absolute lengths (uniform scale) | Unit conversion, scale-ambiguous reconstruction |
| Affine | 6 | Parallelism, ratios along a line, area ratios, midpoints, convexity, cross-ratio | Lengths, angles (shear, anisotropic scale) | Fronto-parallel view of a plane, affine reconstruction |
| Projective | 8 | Incidence, collinearity, concurrency, tangency, cross-ratio | Parallelism, ratios along a line, lengths, angles | General homography (plane-to-plane), projective reconstruction |