Hartley & Zisserman, Chapter 2

Projective Geometry
& Transformations of 2D

Homogeneous coordinates, points, lines, conics, and the hierarchy from projective down to Euclidean — all in the plane.

Prerequisites: Chapter 1 (Tour) + Linear algebra basics. That's it.
10
Chapters
6+
Simulations

Chapter 0: Why 2D Projective Geometry?

You photograph a tiled floor. The square tiles look like trapezoids. The grout lines that were parallel now converge toward a point on the horizon. Angles are distorted. Distances are meaningless. What geometric properties survive this visual mangling?

The answer is: straightness (lines remain lines), incidence (if a point was on a line, it stays on a line), and cross-ratio (a specific ratio of ratios along a line). These are the invariants of projective geometry.

This chapter works entirely in the 2D projective plane — IP2. Think of it as the image plane with points at infinity added. Everything here generalizes to 3D in Chapter 3, but 2D is easier to visualize and draws nicer pictures.

The big idea: By adding "points at infinity" where parallel lines meet, we create a unified geometry where every pair of lines intersects, every pair of points defines a line, and camera projections become simple matrix multiplications.
Parallel Lines Meet at Infinity

Two sets of parallel lines converge to vanishing points on the line at infinity (the horizon).

Perspective tilt40
In projective geometry, do two distinct lines in the plane always intersect?

Chapter 1: Points & Lines

In homogeneous coordinates, a point in IP2 is a 3-vector x = (x1, x2, x3)T. A line is also a 3-vector l = (a, b, c)T, representing ax1 + bx2 + cx3 = 0.

A point x lies on a line l if and only if lTx = 0. This is beautifully symmetric — you can't tell from the equation whether you're testing a point against a line or a line against a point.

Two key formulas:
Line through two points: l = x × y (cross product)
Intersection of two lines: x = l × m (also cross product!)
The same operation works for both, thanks to the duality of points and lines.
lTx = 0   (incidence)   |   l = x × y   |   x = l × m
Points and Lines

Click to place points. The line through each consecutive pair is computed via the cross product.

How do you find the line through two points x and y in homogeneous coordinates?

Chapter 2: Point-Line Duality

Here is something remarkable: every statement about points and lines in projective geometry has a dual statement obtained by swapping "point" and "line." If "two points define a unique line," then the dual is "two lines define a unique point." Both are true in IP2.

This works because points and lines are both represented by 3-vectors, and the incidence relation lTx = 0 is symmetric in form. A theorem proved for points automatically gives a free theorem for lines.

Duality principle: Any projective theorem remains true when you exchange "point" with "line," "join" with "intersection," and "collinear" with "concurrent." You get two theorems for the price of one.
StatementDual Statement
Two points define a lineTwo lines define a point
Points on a line are collinearLines through a point are concurrent
Line through x, y: l = x × yPoint on l, m: x = l × m
What is the dual of "three points are collinear"?

Chapter 3: Conics

A conic in IP2 is defined by a 3×3 symmetric matrix C. A point x lies on the conic if xTCx = 0. Conics include ellipses, parabolas, and hyperbolas — but in projective geometry these are all the same object, just seen from different coordinate frames.

A conic has 5 degrees of freedom (6 entries in a symmetric 3×3 matrix, minus 1 for scale). Therefore 5 points in general position determine a unique conic.

Tangent lines: The tangent to conic C at point x on C is the line l = Cx. The dual conic C* = C-1 satisfies lTC*l = 0 for all tangent lines l.
Conic Through Five Points

Drag any of the 5 control points to reshape the conic.

How many points in general position define a unique conic?

Chapter 4: Projective Transformations

A projective transformation (or homography) of IP2 is an invertible linear map of homogeneous coordinates: x' = Hx, where H is a non-singular 3×3 matrix. It has 8 degrees of freedom (9 entries minus 1 for scale).

This is the most general transformation that maps lines to lines. It can model any perspective view of a plane: the distortion you see when looking at a tiled floor from an angle.

x' = H3×3 x   (8 DOF)
What it preserves: A projective transformation preserves nothing about shapes, angles, or distances. It only preserves incidence (point on a line stays on a line) and cross-ratio. It is the most "destructive" invertible transformation.
Projective Transform Explorer

Drag the four corner handles of the unit square to see how the projective transformation warps the interior grid.

How many degrees of freedom does a 2D projective transformation have?

Chapter 5: Affine Transformations

An affine transformation is a special projective transformation that keeps the line at infinity fixed. In matrix form, the last row is (0, 0, 1):

HA = [a11 a12 tx ; a21 a22 ty ; 0 0 1]   (6 DOF)

Affine transformations preserve parallelism and ratios of lengths on parallel lines. They can stretch, shear, rotate, and translate — but they cannot create the "vanishing point" effect of perspective. In image terms: an affine map is what you get when the camera is very far from the scene (telephoto lens).

Affine = projective + line at infinity. The moment you identify which line is "at infinity" in a projective plane, you recover the concept of parallelism and affine geometry.
What geometric property do affine transformations preserve that projective ones do not?

Chapter 6: Similarity & Euclidean

Continuing down the hierarchy, a similarity transformation (4 DOF) preserves angles and ratios of distances. It's rotation + uniform scaling + translation. A Euclidean transformation (3 DOF) preserves absolute distances — it's just rotation + translation.

The key geometric objects that distinguish these levels are the circular points: the two complex points (1, ±i, 0)T on the line at infinity. Every circle passes through them. Identifying the circular points gives you the full Euclidean structure of the plane.

The circular points: (1, i, 0)T and (1, −i, 0)T are complex points at infinity that lie on every circle. Projective → affine means finding the line at infinity. Affine → metric means finding the circular points on that line.
TransformDOFPreserves
Euclidean3Distances, angles
Similarity4Angles, distance ratios
Affine6Parallelism, area ratios
Projective8Cross-ratio, incidence
What are the circular points and why do they matter?

Chapter 7: The Transformation Hierarchy

All the transformations form a nested hierarchy. Each level is a subgroup of the one above it, obtained by fixing additional geometric structure:

Projective (8 DOF)
Most general. Preserves only incidence and cross-ratio.
↓ fix line at infinity
Affine (6 DOF)
Preserves parallelism. Last row = (0, 0, 1).
↓ fix circular points
Similarity (4 DOF)
Preserves angles. A is s·R (scaled rotation).
↓ fix scale
Euclidean (3 DOF)
Preserves distances. A = R (rotation only).
Transformation Hierarchy Explorer

See how each transformation level warps an original shape. Select a level to see what gets distorted and what is preserved.

What additional geometric structure must be identified to go from affine to similarity?

Chapter 8: Recovering Metric Properties

Given a perspective image of a plane (a projective view), can we recover metric properties like angles and length ratios? Yes — if we can identify the right geometric structures in the image.

Recovering affine properties: Find the vanishing line (image of the line at infinity). Two sets of parallel lines give two vanishing points; the line through them is the vanishing line. Once identified, we can rectify parallelism.

Recovering metric properties: Find the image of the circular points on the vanishing line. Two known angles or two known length ratios give enough constraints. Once identified, we can rectify angles and shapes.

Practical recipe: (1) Find two vanishing points from parallel lines in the image. (2) The vanishing line is the line through them. (3) Use known right angles to identify the circular points. (4) Compute a rectifying homography that sends the circular points back to (1, ±i, 0). Done — the image is metrically rectified.
What do you need from the image to recover metric (angle-preserving) properties of a plane?

Chapter 9: Connections

This chapter established the foundation: homogeneous coordinates, the duality of points and lines, conics, and the transformation hierarchy from projective down to Euclidean. Every concept here extends to 3D in the next chapter.

2D Concept3D Analog (Ch 3)
Line at infinity lPlane at infinity π
Circular points (1, ±i, 0)Absolute conic Ω
Conic (3×3 matrix)Quadric (4×4 matrix)
Cross product x × yNull-space methods
"A projective transformation is a mapping that preserves straight lines. It turns out that this is the most general requirement."
— Hartley & Zisserman, Section 1.1
What is the 3D analog of the 2D circular points?
← Chapter 1 Chapter 3: Projective 3D →