Projektivität

Zentralkollineation: Für jeden Punkt sind kollinear

Eine Projektivität oder projektive Kollineation ist in der Geometrie eine besondere Kollineation einer projektiven Ebene oder eines projektiven Raums. Im einfachsten Fall ist eine Projektivität eine Zentralkollineation oder Perspektivität, d. h., es gibt einen Fixpunkt (das Zentrum), und alle Geraden durch sind Fixgeraden. Man definiert:

Damit sind die Werkzeuge der linearen Algebra zur Untersuchung von Projektivitäten anwendbar.

Eine Kollineation, die keine Projektivität ist, gibt es z. B. in der projektiven Ebene über den komplexen Zahlen : Die projektive Fortsetzung der Kollineation der komplexen affinen Ebene ist keine Projektivität. Sie lässt sich im homogenen Modell nur durch eine semilineare Abbildung darstellen.

Eine projektive Kollineation sollte nicht verwechselt werden mit einer projektiven Abbildung. Letztere bildet einen projektiven Raum auf einen anderen ab.

Eigenschaften von Zentralkollineationen einer projektiven Ebene

Zentralkollineation: Homologie
Zentralkollineation: Elation

Die hier aufgeführten Eigenschaften von Projektivitäten einer projektiven Ebene lassen sich relativ leicht auf höhere Dimensionen übertragen. Deshalb wird ab hier vorausgesetzt: Der projektive Raum ist eine projektive Ebene.

Damit die Menge der Projektivitäten eine Gruppe bildet, legt man fest:

Wenn im Folgenden von einer Projektivität die Rede ist, setzen wir meistens stillschweigend voraus, dass es sich nicht um die Identität handelt.

Beispiele im inhomogenen Modell : Die projektive Fortsetzung

  1. der Streckung am Nullpunkt ist eine Homologie mit Zentrum und Achse .
  2. der Streckung an der x-Achse ist eine Homologie mit Zentrum und x-Achse als Achse.
  3. der Translation ist eine Elation mit Zentrum und Achse .
  4. der Scherung ist eine Elation mit Zentrum und der x-Achse als Achse.

Die letzte Aussage bedeutet: Die Hintereinanderausführung einer -Perspektivität und einer -Perspektivität ist wieder eine Perspektivität mit Achse und einem Zentrum auf der Gerade .

Aus dem Dualitätsprinzip für projektive Ebenen folgt:

Über die Existenz und Eindeutigkeit von Zentralkollineationen macht der folgende Satz eine Aussage:

Satz (Baer):

(Eine desarguessche Ebene lässt sich mit einem Schiefkörper koordinatisieren.)

Eigenschaften von Projektivitäten in einer projektiven Ebene über einem Körper

In diesem Fall gilt:

Da Vielfache der Einheitsmatrix nur die Identität induzieren, darf man die Matrix einer Projektivität mit solch einem Vielfachen der Einheitsmatrix multiplizieren, ohne dass sich die Wirkung der Projektivität ändert.

Sie ist eine Homologie, wenn einen weiteren Eigenwert hat und die Matrix also diagonalisierbar ist. Sie ist eine Elation, wenn nicht diagonalisierbar ist.

Eine kennzeichnende Invariante der Projektivitäten ist das Doppelverhältnis:

Vier projektiv unabhängige Punkte in der projektiven Ebene

Die Rolle von Basispunkten einer projektiven Ebene übernehmen Quadrupel von projektiv unabhängigen Punkten (Punkte in allgemeiner Lage). Vier Punkte sind dabei projektiv unabhängig, wenn keine drei auf einer Gerade liegen. Es gilt:

.

Eine für die Untersuchung von Projektivitäten wichtige Aussage ist der Fundamentalsatz:

Eine Folgerung des Hauptsatzes ist:

Projektive Transformation

Die Projektive Transformation kann verwendet werden, um für ein schräg aufgenommenes Bild eine entzerrte Darstellung zu ermöglichen. Hierzu sind vier Passpunkte nötig, d. h. es muss für 4 beliebige Punkte im Ausgangsbild auch eine Koordinate im Ergebnisbild gefunden werden.

Daraus ergibt sich eine Transformationsmatrix mit insgesamt 8 Parametern.

Zum Beispiel:

Punkte Ausgangsbild (Pa):  P1 :(102.0, 131.0),  P2 :(456.0, 131.0),  P3 :(642.0, 372.0),  P4 :(6.0, 388.0)
Punkte Ergebnisbild (Pe):  P1':(100.0, 90.0),   P2':(420.0, 90.0),   P3':(420.0, 500.0),  P4':(100.0, 500.0)

für

Berechnung der Lage einzelner Punkte P'(x', y') im Ergebnisbild für einen bestimmten Punkt P(x, y) im Ausgangsbild:

Berechnung der Transformations-Matrix in Python:

def get_projective_matrix(points_src, points_dst):
    matrix = []
    for ps, pd in zip(points_src, points_dst):
        matrix.append([ps[0], ps[1], 1, 0, 0, 0, -pd[0]*ps[0], -pd[0]*ps[1], 0])
        matrix.append([0, 0, 0, ps[0], ps[1], 1, -pd[1]*ps[0], -pd[1]*ps[1], 0])
    matrix.append([0, 0, 0, 0, 0, 0, 0, 0, 1])
    A = np.asarray(matrix, dtype=np.float32)
    B = np.asarray(points_dst).reshape(8)
    B = np.append(B, [1])
    res = np.linalg.solve(A, B)
    res = res.reshape((3, 3))
    return res

Dies wird auch von verschiedenen Bibliotheken der Programmiersprache Python unterstützt:

Einzelnachweise

  1. ↑ Albrecht Beutelspacher, Ute Rosenbaum: Projektive Geometrie. 2. Auflage. Vieweg, Wiesbaden 2004, ISBN 3-528-17241-X, S. 96
  2. ↑ Albrecht Beutelspacher, Ute Rosenbaum: Projektive Geometrie. 2. Auflage. Vieweg, Wiesbaden 2004, ISBN 3-528-17241-X, S. 98
  3. ↑ Albrecht Beutelspacher, Ute Rosenbaum: Projektive Geometrie. 2. Auflage. Vieweg, Wiesbaden 2004, ISBN 3-528-17241-X, S. 125

Literatur