Felix Klein's 1872 insight: a geometry is defined by its symmetry group. Euclidean geometry studies what rigid motions preserve. Affine geometry studies what affine maps preserve. Projective geometry studies what projective maps preserve. Topology studies what continuous maps preserve. Each geometry is its invariants under its group.
Geometry = group + invariants
Before Klein, geometry was a zoo: Euclidean, projective, affine, hyperbolic, each with its own axioms and flavor. Klein unified them with one sentence: a geometry is a set X together with a group G acting on X. The geometry studies properties invariant under G. Change the group, change the geometry. Every theorem is a statement about what the group cannot destroy.
Scheme
; A geometry is (Space, Group).; The group determines what "same" means.; Euclidean group: translations + rotations + reflections; Invariant: distance, angle; "Same" means: congruent; Affine group: linear maps + translations; Invariant: parallelism, ratios of lengths on a line; "Same" means: related by shearing/scaling/translating; Projective group: projective transformations; Invariant: cross-ratio, collinearity; "Same" means: related by perspective projection; Topological group: homeomorphisms (continuous bijections); Invariant: connectedness, number of holes; "Same" means: can be continuously deformed
(display "Euclidean: distance is invariant") (newline)
(display " Rotate (1,0) by 90 degrees -> (0,1)") (newline)
(display " Distance from origin: 1 -> 1 (preserved)") (newline)
(newline)
(display "Affine: parallelism is invariant") (newline)
(display " Shear a square -> parallelogram") (newline)
(display " Opposite sides still parallel (preserved)") (newline)
(newline)
(display "Projective: cross-ratio is invariant") (newline)
(display " Project a line through a point") (newline)
(display " Distances change, but cross-ratio preserved") (newline)
(newline)
(display "Topology: connectedness is invariant") (newline)
(display " Stretch a circle into an ellipse") (newline)
(display " Still one connected piece (preserved)")
Euclidean geometry: rigid motions
The Euclidean group consists of translations, rotations, and reflections. These are the isometries: distance-preserving maps. Two figures are "the same" in Euclidean geometry if one can be moved onto the other by a rigid motion. Distance and angle are the invariants.
Scheme
; Euclidean transformations preserve distance
(define pi 3.141592653589793)
(define (rotate theta px py)
; Rotate point (px, py) by angle theta around origin
(let ((c (cos theta)) (s (sin theta)))
(list (- (* c px) (* s py))
(+ (* s px) (* c py)))))
(define (translate dx dy px py)
(list (+ px dx) (+ py dy)))
(define (dist p q)
(sqrt (+ (* (- (car p) (car q)) (- (car p) (car q)))
(* (- (cadr p) (cadr q)) (- (cadr p) (cadr q))))))
; Triangle vertices
(define a (list 00)) (define b (list 30)) (define c (list 04))
; Rotate 45 degrees
(define theta (/ pi 4))
(define a2 (rotate theta (car a) (cadr a)))
(define b2 (rotate theta (car b) (cadr b)))
(define c2 (rotate theta (car c) (cadr c)))
(display "Original side lengths:") (newline)
(display " AB = ") (display (dist a b)) (newline)
(display " BC = ") (display (dist b c)) (newline)
(display " CA = ") (display (dist c a)) (newline)
(display "After 45-degree rotation:") (newline)
(display " AB = ") (display (dist a2 b2)) (newline)
(display " BC = ") (display (dist b2 c2)) (newline)
(display " CA = ") (display (dist c2 a2)) (newline)
(display "Distances preserved.")
Each geometry's group contains the next as a subgroup. Every rigid motion is an affine map. Every affine map is a projective map. Every projective map is a continuous map. So: Topology ⊃ Projective ⊃ Affine ⊃ Euclidean. Moving up the hierarchy, the group gets larger and the invariants get fewer. Topology preserves almost nothing. Euclidean preserves almost everything.
Affine geometry: what shearing preserves
Affine maps include scaling, shearing, rotation, translation, and their compositions. They preserve parallelism, ratios of distances along a line, and the property of being a midpoint. They destroy angles and absolute distances. A circle becomes an ellipse; a square becomes a parallelogram; but parallel lines stay parallel.
In modern language, the Erlangen program defines a functor from the category of groups (with group homomorphisms) to the category of geometries (with structure-preserving maps). A subgroup inclusion G ↪ H induces a "forgetful" map from the H-geometry to the G-geometry: more symmetries means fewer invariants. The hierarchy is a chain of functors.
Scheme
; The Erlangen program: Group -> Geometry is a functor;; Objects: groups (Euclidean, Affine, Projective, Topological); Morphisms: group inclusions (subgroup embeddings);; The functor maps:; Euclidean group -> Euclidean geometry (distance, angle); Affine group -> Affine geometry (parallelism, ratios); Projective group -> Projective geometry (cross-ratio); Topological group -> Topology (connectedness);; Inclusion Euclidean < Affine means:; Everything invariant under Affine is also invariant under Euclidean; But Euclidean has MORE invariants (distance, angle); Demonstrate: distance is a Euclidean invariant but not affine
(define (dist p q)
(sqrt (+ (* (- (car p) (car q)) (- (car p) (car q)))
(* (- (cadr p) (cadr q)) (- (cadr p) (cadr q))))))
(define a (list 00)) (define b (list 10))
; Euclidean (rotation): preserves distance
(define pi 3.141592653589793)
(define a-rot (list 00))
(define b-rot (list (cos (/ pi 3)) (sin (/ pi 3))))
(display "After rotation: d = ") (display (dist a-rot b-rot)) (newline)
; Affine (scale by 2 in x): destroys distance
(define a-scaled (list 00))
(define b-scaled (list 20))
(display "After x-scale: d = ") (display (dist a-scaled b-scaled)) (newline)
; But both preserve the midpoint property
(display "Midpoint after rotation: ")
(display (list (/ (+ (car a-rot) (car b-rot)) 2)
(/ (+ (cadr a-rot) (cadr b-rot)) 2))) (newline)
(display "Midpoint after scaling: ")
(display (list (/ (+ (car a-scaled) (car b-scaled)) 2)
(/ (+ (cadr a-scaled) (cadr b-scaled)) 2)))
Klein's original 1872 Erlangen lecture was titled "Vergleichende Betrachtungen uber neuere geometrische Forschungen" (A Comparative Review of Recent Researches in Geometry). The functorial interpretation is modern. The hierarchy shown here (topology ⊃ projective ⊃ affine ⊃ Euclidean) is the standard one, but there are geometries that do not fit neatly into this chain: hyperbolic and elliptic geometry branch off from projective geometry rather than sitting in the linear chain. Milewski's chapter 7 covers functors in the programming context; the Erlangen program is the original mathematical example of "structure-preserving maps between categories."