04.11.2013 Aufrufe

Diplomarbeit - GeoGebra

Diplomarbeit - GeoGebra

Diplomarbeit - GeoGebra

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>GeoGebra</strong><br />

Ein Softwaresystem für dynamische<br />

Geometrie und Algebra der Ebene<br />

<strong>Diplomarbeit</strong> zur Erlangung des Magistergrades<br />

an der Naturwissenschaftlichen Fakultät<br />

der Paris-Lodron-Universität Salzburg<br />

Markus Hohenwarter<br />

Salzburg, Februar 2002


Inhaltsverzeichnis<br />

I Einleitung 1<br />

1 Vorwort 3<br />

1.1 Ziel der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2 Anforderungen an die Software 5<br />

2.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2 Eingabe der Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.3 Darstellung der Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.4 Beziehungen zwischen Objekten . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.5 Veränderung von Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

II Mathematik 13<br />

3 Lineare Algebra 15<br />

3.1 Vektorräume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

3.1.1 Inneres Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3.1.2 Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2 Lineare Abbildungen und Matrizen . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.3 Basiswechsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

3.4 Determinante und Spur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

3.5 Lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

3.6 Orthogonale Endomorphismen . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3.7 Diagonalisierung von Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3.8 Der Spektralsatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

4 Affine und euklidische Geometrie 45<br />

4.1 Affine Räume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

4.1.1 Normalvektorform . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

4.1.2 Vektorprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.2 Affine Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

4.3 Koordinatentransformationen . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

iii


iv<br />

INHALTSVERZEICHNIS<br />

4.4 Bewegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

4.4.1 Identität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.4.2 Verschiebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.4.3 Drehung um den Ursprung . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.4.4 Drehung um einen Punkt . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.4.5 Punktspiegelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.4.6 Spiegelung an der x-Achse . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.4.7 Spiegelung an einer Geraden . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.4.8 Überblick der ebenen Bewegungen . . . . . . . . . . . . . . . . . . . 68<br />

4.5 Kegelschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.5.1 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.5.2 Kurven zweiten Grades . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

4.5.3 Klassifikation der Kurven zweiten Grades . . . . . . . . . . . . . . . 75<br />

4.5.4 Schnitt mit einer Geraden . . . . . . . . . . . . . . . . . . . . . . . 88<br />

4.5.5 Asymptoten einer Hyperbel . . . . . . . . . . . . . . . . . . . . . . 90<br />

4.5.6 Tangenten und Polare . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

5 Projektive Geometrie 103<br />

5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

5.2 Projektive Räume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

5.3 Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

5.4 Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

5.4.1 Schnitt projektiver Geraden . . . . . . . . . . . . . . . . . . . . . . 109<br />

5.4.2 Vergleich mit affinen Geraden . . . . . . . . . . . . . . . . . . . . . 110<br />

5.5 Dualitätsprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

5.6 Quadriken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

5.6.1 Fünf Punkte Satz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

5.6.2 Tangenten und Polare . . . . . . . . . . . . . . . . . . . . . . . . . 118<br />

6 Geometrische Objekte der Ebene 121<br />

6.1 Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

6.1.1 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

6.1.2 Mittelpunkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

6.1.3 Kollinearität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

6.2 Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

6.2.1 Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

6.2.2 Abstand Punkt - Gerade . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.2.3 Lagebeziehungen von Geraden . . . . . . . . . . . . . . . . . . . . . 126<br />

6.2.4 Winkelsymmetrale . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />

6.3 Kegelschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />

6.3.1 Kreis durch drei Punkte . . . . . . . . . . . . . . . . . . . . . . . . 129


INHALTSVERZEICHNIS<br />

v<br />

6.3.2 Parabel zu Leitgerade und Brennpunkt . . . . . . . . . . . . . . . . 131<br />

6.3.3 Kegelschnitt durch fünf Punkte . . . . . . . . . . . . . . . . . . . . 132<br />

6.3.4 Schnitt zweier Kegelschnitte . . . . . . . . . . . . . . . . . . . . . . 137<br />

III Informatik 139<br />

7 Algebraische Eingabe 141<br />

7.1 Theoretische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br />

7.1.1 Formale Sprachen und Grammatiken . . . . . . . . . . . . . . . . . 141<br />

7.1.2 Extended Backus Naur Form . . . . . . . . . . . . . . . . . . . . . 143<br />

7.2 Die Grammatik G ECV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />

7.2.1 Definition von G ECV . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />

7.2.2 Die Sprache L ECV . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

7.3 Verarbeitung der Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

7.3.1 JavaCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

7.3.2 Arithmetische Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

7.3.3 Auswertung arithmetischer Ausdrücke . . . . . . . . . . . . . . . . 152<br />

7.3.4 Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

7.3.5 Normalform von Gleichungen . . . . . . . . . . . . . . . . . . . . . 153<br />

7.4 Das Paket arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

8 Kernel 159<br />

8.1 Datenstrukturen und Algorithmen . . . . . . . . . . . . . . . . . . . . . . . 159<br />

8.1.1 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />

8.1.2 Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />

8.1.3 Aktualisierung der Abhängigkeiten . . . . . . . . . . . . . . . . . . 161<br />

8.2 Kontinuität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

8.2.1 Doppelter Bisektor . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

8.2.2 Das Kontinuitätsproblem . . . . . . . . . . . . . . . . . . . . . . . . 165<br />

8.2.3 Heuristischer Ansatz mittels Nähe-Beziehung . . . . . . . . . . . . . 167<br />

8.3 Numerik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<br />

8.3.1 Test auf Gleichheit . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<br />

8.3.2 Schleifender Schnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<br />

8.3.3 Relaxation of Thresholds . . . . . . . . . . . . . . . . . . . . . . . . 171<br />

8.3.4 Norm eines Vektors . . . . . . . . . . . . . . . . . . . . . . . . . . . 172<br />

8.3.5 Quadratische und kubische Gleichungen . . . . . . . . . . . . . . . 173<br />

9 Grafische Ausgabe 179<br />

9.1 Model-View-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179<br />

9.2 Darstellung von Kegelschnitten . . . . . . . . . . . . . . . . . . . . . . . . 180<br />

9.2.1 Parabel als Bézier-Kurve . . . . . . . . . . . . . . . . . . . . . . . . 181


vi<br />

INHALTSVERZEICHNIS<br />

9.2.2 Rationale Parameterdarstellungen von Kegelschnitten . . . . . . . . 183<br />

IV Didaktik 187<br />

10 Anwendung im Unterricht 189<br />

10.1 Geraden und lineare Gleichungen . . . . . . . . . . . . . . . . . . . . . . . 189<br />

10.1.1 Lineare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

10.1.2 Lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . 190<br />

10.1.3 Gerade durch zwei Punkte . . . . . . . . . . . . . . . . . . . . . . . 191<br />

10.2 Summensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194<br />

10.3 Brennstrecken einer Hyperbel . . . . . . . . . . . . . . . . . . . . . . . . . 198<br />

10.3.1 Winkelsymmetrale der Brennstrecken . . . . . . . . . . . . . . . . . 198<br />

10.3.2 Brennstrecken im rechten Winkel . . . . . . . . . . . . . . . . . . . 200<br />

10.4 Hyperbelgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200<br />

V <strong>GeoGebra</strong> Hilfe 203<br />

A Geometrische Eingabe 205<br />

A.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205<br />

A.1.1 Kontextmenü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205<br />

A.1.2 Anzeigen und Ausblenden . . . . . . . . . . . . . . . . . . . . . . . 205<br />

A.2 Modi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206<br />

A.2.1 Allgemeine Modi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206<br />

A.2.2 Punkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206<br />

A.2.3 Vektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206<br />

A.2.4 Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />

A.2.5 Kegelschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208<br />

B Algebraische Eingabe 209<br />

B.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209<br />

B.1.1 Kontextmenü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209<br />

B.1.2 Anzeigen und Ausblenden . . . . . . . . . . . . . . . . . . . . . . . 209<br />

B.1.3 Werte ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209<br />

B.1.4 Umbenennen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B.1.5 Animation (experimentell) . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B.2 Direkte Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B.2.1 Zahlen und Winkel . . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B.2.2 Punkte und Vektoren . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B.2.3 Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211<br />

B.2.4 Kegelschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


INHALTSVERZEICHNIS<br />

vii<br />

B.2.5 Arithmetische Operationen . . . . . . . . . . . . . . . . . . . . . . . 211<br />

B.3 Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />

B.3.1 Allgemeine Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />

B.3.2 Zahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213<br />

B.3.3 Winkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214<br />

B.3.4 Punkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214<br />

B.3.5 Vektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215<br />

B.3.6 Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215<br />

B.3.7 Kegelschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />

B.3.8 Bewegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


viii<br />

INHALTSVERZEICHNIS


Teil I<br />

Einleitung<br />

1


Kapitel 1<br />

Vorwort<br />

1.1 Ziel der Arbeit<br />

Ziel dieser Arbeit ist ein für den Geometrieunterricht verwendbares Computerprogramm<br />

namens <strong>GeoGebra</strong> , das eine Verbindung dynamischer Geometriesoftware und Computeralgebra<br />

zur Behandlung geometrischer Objekte der Ebene herstellt.<br />

Dynamische Geometriesoftware<br />

Bislang gibt es grundsätzlich zwei Typen von Unterrichtssoftware zu diesem Themenbereich:<br />

Auf der einen Seite stehen CAD Programme, mit denen geometrische Objekte am<br />

Rechner gezeichnet werden können (z.B. WinDOS CAD, CAD 2D). Eine spezielle Variante<br />

davon sind dynamische Geometriesoftwarepakete (z.B. Cinderella, Cabri géomètre),<br />

welche es erlauben, elementargeometrische Gebilde so zu bewegen, dass deren gegenseitige<br />

Lagebeziehungen (z.B. senkrecht, parallel) erhalten bleiben. Die Dynamik entsteht also<br />

dadurch, dass Manipulationen eines Objekts auch andere, davon abhängige Objekte mitverändern.<br />

Bei einigen Programmen ist die Betrachtung der algebraischen Komponente im<br />

Ansatz vorhanden, indem die Gleichung einer Geraden oder eines Kegelschnitts angezeigt<br />

werden kann. Diese Gleichungen kann der Benutzer aber nicht direkt verändern.<br />

Computeralgebrasysteme<br />

Auf der anderen Seite stehen Computeralgebrasysteme (z.B. Derive, Maple, Mathematica),<br />

mit denen die algebraische Komponente der analytischen Geometrie abgedeckt werden<br />

kann. Anhand der Gleichungen geometrischer Objekte (z.B. Punkte, Geraden, Kegelschnitte)<br />

wird deren gegenseitige Lage entschieden, also beispielsweise, ob sich zwei Kegelschnitte<br />

schneiden, oder ob ein Punkt innerhalb, auf oder außerhalb eines Kreises liegt. Solche<br />

Systeme erlauben es in der Regel auch, zumindest explizite Gleichungen geometrisch darzustellen.<br />

Diese geometrische Darstellung kann jedoch nicht direkt verändert werden.<br />

3


4 KAPITEL 1. VORWORT<br />

Die Verbindung<br />

Das Neue an meinem Vorhaben ist der Versuch einer Verbindung dieser beiden Softwaretypen<br />

für die ebene Geometrie. Jedes Objekt wird dabei auf zwei Arten dargestellt:<br />

algebraisch mittels Koordinaten, Gleichung oder Parameterdarstellung und geometrisch<br />

als zugehörige Lösungsmenge. Der Benutzer kann nun sowohl die geometrische wie auch<br />

die algebraische Komponente direkt verändern.<br />

Eine Bewegung (Verschiebung, Drehung, Spiegelung) der geometrischen Darstellung<br />

resultiert in einer Veränderung der zugehörigen Gleichung. Umgekehrt führt die Manipulation<br />

der Koeffizienten einer Gleichung sofort zu einer Veränderung der entsprechenden<br />

geometrischen Darstellung. Die Eingabe soll sowohl im Geometriefenster mit der Maus, als<br />

auch durch Angabe der entsprechenden Gleichungen im Algebrafenster erfolgen können.<br />

Des Weiteren können neue Objekte in Abhängigkeit von bereits bestehenden erstellt werden<br />

(z.B. Senkrechte, Parallele, Tangente, Schnittpunkte).<br />

Die Aspekte dynamischer Geometriesoftware fließen also in der Möglichkeit der dynamischen<br />

Manipulation geometrischer Darstellungen und deren Abhängigkeiten (senkrecht,<br />

parallel, usw.) ein. Die Computeralgebra wird zur Lösung von Gleichungssystemen<br />

(Schnittmengen) und der Bestimmung von Lagebeziehungen benötigt.<br />

Auf diese hier dargestellte Art stehen sich geometrische und algebraische Darstellung<br />

gleichberechtigt gegenüber (vgl. [8]). Die enge Verbindung von Algebra und Geometrie kann<br />

dadurch für einen Schüler greifbarer werden als in den vorher erwähnten Programmen, die<br />

alle eine Schwerpunktsetzung auf nur eine Komponente vornehmen.<br />

1.2 Aufbau der Arbeit<br />

Als Erstes werden wir klären, welche Objekte und Funktionen in unserem Programm zur<br />

Verfügung stehen sollen (Kapitel 2). Um das Programm erstellen zu können, brauchen wir<br />

einiges an Hintergrundwissen.<br />

Zunächst behandeln wir dabei die mathematischen Grundlagen der linearen Algebra<br />

(Kapitel 3), der affinen und euklidischen Geometrie (Kapitel 4) sowie der projektiven<br />

Geometrie (Kapitel 5). Einige für uns wichtige Ergebnisse ergänzen wir in Kapitel 6.<br />

Im Informatik-Teil der Arbeit besprechen wir die Grundlagen der algebraischen Eingabe<br />

und ihrer Verarbeitung (Kapitel 7). Dabei spielen arithmetische Ausdrücke und Polynome<br />

eine wichtige Rolle. Danach gehen wir auf den Aufbau des Kernels (Kapitel 8) ein, wobei<br />

wir auch das für dynamische Geometriesysteme typische Kontinuitätsproblem und einige<br />

numerische Aspekte behandeln werden. Darüber, wie man die geometrischen Objekte<br />

grafisch am Bildschirm darstellen kann, machen wir uns in Kapitel 9 Gedanken.<br />

Nach all dieser Vorarbeit können wir das Programm implementieren und einige ausgesuchte<br />

Beispiele für seine Anwendung im Unterricht vorstellen (Kapitel 10). Im Anhang<br />

besprechen wir abschließend die Bedienung unserer Software mit der Maus (Anhang A)<br />

und der Tastatur (Anhang B).


Kapitel 2<br />

Anforderungen an die Software<br />

2.1 Allgemeines<br />

Es soll ein für den Mathematikunterricht verwendbares Computerprogramm erstellt werden,<br />

das eine anschauliche Verbindung zwischen dem Bereich der Algebra und der Geometrie<br />

im R 2 herstellt. Algebraische Gleichungen und geometrische Objekte hängen in<br />

natürlicher Weise zusammen. Dieser Zusammenhang soll dynamisch sichtbar werden, indem<br />

Veränderungen an geometrischen Objekten und Gleichungen sich gegenseitig beeinflussen.<br />

2.2 Eingabe der Objekte<br />

Folgende Objekte werden behandelt:<br />

• Zahl und Winkel<br />

• Punkt<br />

• Vektor<br />

• Gerade<br />

• Kegelschnitt (Kreis, Ellipse, Hyperbel, Parabel, usw.)<br />

Diese können sowohl geometrisch wie auch algebraisch eingegeben werden. Die geometrische<br />

Eingabe erfolgt dabei mit der Maus, die algebraische über die Tastatur. Zusätzlich<br />

zu den algebraischen Gleichungen und Koordinaten können auch Befehle verwendet werden.<br />

Eine genaue Beschreibung der Bedienung und Befehlssyntax findet sich im Teil V<br />

dieser Arbeit. Im Folgenden wird ein Überblick davon gegeben.<br />

Grundsätzlich unterscheiden wir zwischen freien Objekten, die direkt verändert werden<br />

können, und abhängigen Objekten, die von freien Objekten abhängen. Nehmen wir als<br />

Beispiel zwei freie Punkte A und B, die wir direkt durch ihre Koordinaten angeben. Legen<br />

5


6 KAPITEL 2. ANFORDERUNGEN AN DIE SOFTWARE<br />

wir nun eine Gerade g durch A und B, so ist g eine von A und B abhängige Gerade.<br />

Verschieben wir einen der Punkte A oder B, so ändert sich auch die Gerade g.<br />

Zahl und Winkel<br />

Durch direkte Eingabe einer Zahl (k = 2.3) oder eines Winkels (phi = 30 ◦ , phi = pi/6)<br />

erhalten wir freie Objekte. Über Befehle bekommen wir folgende abhängigen Zahlen bzw.<br />

Winkel:<br />

• Länge eines Vektors<br />

• Abstand Punkt-Punkt, Punkt-Gerade oder Gerade-Gerade<br />

• Steigung einer Geraden<br />

• Radius eines Kreises<br />

• Haupt- oder Nebenachsenlänge einer Ellipse oder Hyperbel<br />

• Exzentrizität einer Ellipse oder Hyperbel<br />

• Parameter einer Parabel<br />

• Winkel zwischen Vektoren oder Geraden<br />

• Winkel, der von drei Punkten eingeschlossen wird<br />

• Verdrehwinkel eines Kegelschnitts<br />

Punkt<br />

Ein Punkt wird geometrisch folgendermaßen festgelegt:<br />

• Neuer Punkt (frei): Anklicken einer Stelle in einem Koordinatensystem<br />

• Schnittpunkt (abhängig): Markieren zweier sich schneidender Objekte (Gerade, Kegelschnitt)<br />

Algebraisch wird ein Punkt durch Eingabe seiner cartesischen Koordinaten (x, y) oder<br />

Polarkoordinaten (r; ϕ) angegeben (frei). Davor kann ein eindeutiger mit einem Großbuchstaben<br />

beginnender Name gefolgt von einem Gleichheitszeichen geschrieben werden. Der<br />

Punkt A mit den cartesischen Koordinaten (0, 1) kann beispielsweise als A = (0, 1) oder<br />

A = (1; 90 ◦ ) eingegeben werden.


2.2. EINGABE DER OBJEKTE 7<br />

Vektor<br />

Ein Vektor wird geometrisch folgendermaßen festgelegt (abhängig):<br />

• Ortsvektor eines Punktes<br />

• Verbindungsvektor zweier Punkte<br />

• Richtungsvektor einer Geraden<br />

• Einheitsvektor einer Geraden bzw. eines Vektors<br />

• Normalvektor einer Geraden bzw. eines Vektors<br />

• Einheitsnormalvektor einer Geraden bzw. eines Vektors<br />

Algebraisch wird ein Vektor wie ein Punkt durch Eingabe seiner cartesischen Koordinaten<br />

(x, y) oder Polarkoordinaten (r; ϕ) angegeben (frei). Um einen Vektor von einem<br />

Punkt zu unterscheiden, muss ein mit einem Kleinbuchstaben beginnender Name verwendet<br />

werden. Der Vektor v mit den cartesischen Koordinaten (0, 1) kann beispielsweise als<br />

v = (0, 1) oder v = (1; 90 ◦ ) eingegeben werden.<br />

Gerade<br />

Eine abhängige Gerade wird mit der Maus oder mittels Befehlen auf eine der folgenden<br />

Arten angegeben:<br />

• Gerade durch zwei Punkte<br />

• Gerade durch einen Punkt, parallel zu einer Geraden oder zu einem Vektor<br />

• Gerade durch einen Punkt, senkrecht zu einer Geraden oder zu einem Vektor<br />

• Streckensymmetrale zu zwei Punkten<br />

• Winkelsymmetrale zu drei Punkten oder zu zwei Geraden<br />

• Tangente an Kegelschnitt durch einen Punkt oder parallel zu einer Geraden<br />

• Polare zu Kegelschnitt und Punkt<br />

• Durchmessergerade zu Kegelschnitt und Gerade bzw. Vektor<br />

• Leitlinie einer Parabel<br />

• Asymptote einer Hyperbel<br />

• Haupt- oder Nebenachse eines Kegelschnitts


8 KAPITEL 2. ANFORDERUNGEN AN DIE SOFTWARE<br />

Als algebraische Eingabe einer Geraden werden Gleichungen und Parameterdarstellungen<br />

zugelassen, die sich zu folgenden Formen vereinfachen lassen. Was hierbei unter vereinfachen<br />

zu verstehen ist, wird etwas später (p.9) erklärt.<br />

• Gleichung: a x + b y = c, mit a, b, c ∈ R und (a, b) ≠ O<br />

• Parameterdarstellung: X = (p, q) + t (a, b), mit (p, q), (a, b) ∈ R 2<br />

Bei Eingabe der Parameterdarstellung wird eine abhängige Gerade durch den Punkt<br />

(p, q) mit Richtungsvektor (a, b) erzeugt. In der Gleichung können auch Variablen vorkommen<br />

(z.B. von zuvor definierten Zahlen). Eine Gleichung ohne Variablen liefert eine<br />

freie Gerade.<br />

Bei beiden Formen kann ein eindeutiger Name der Geraden am Beginn der Zeile mit<br />

Doppelpunkt angegeben werden. Die Gerade g durch den Punkt (2, 1) mit Richtung (1, 3)<br />

kann zum Beispiel auf folgende Arten geschrieben werden:<br />

1. g : 3x - y = 5<br />

2. g : 3(x - 1) = 2 + y<br />

3. g : X = (2, 1) + t (1, 3)<br />

Kegelschnitt<br />

Ein abhängiger Kegelschnitt wird mit der Maus oder mittels Befehlen auf eine der folgenden<br />

Arten angegeben:<br />

• Kreis mit Mittelpunkt und Radius<br />

• Kreis mit Mittelpunkt und Punkt auf dem Kreis<br />

• Kreis durch drei Punkte auf dem Kreis (Umkreis)<br />

• Ellipse mit zwei Brennpunkten und Halbachsenlänge<br />

• Hyperbel mit zwei Brennpunkten und Halbachsenlänge<br />

• Hyperbel mit zwei Brennpunkten und Halbachsenlänge<br />

• Parabel mit Brennpunkt und Leitlinie<br />

• Kegelschnitt durch fünf Punkte<br />

Algebraisch wird ein Kegelschnitt durch eine quadratische Gleichung in zwei Variablen<br />

definiert:<br />

• a x 2 + b y 2 + c xy + d x + e y = f, mit a, b, c, d, e, f ∈ R


2.3. DARSTELLUNG DER OBJEKTE 9<br />

Eine solche Gleichung beschreibt alle Kegelschnitte. Unter anderem sind damit folgende<br />

wichtige Spezialfälle abgedeckt:<br />

• Kreis: (x - m x ) 2 + (y - m y ) 2 = r 2<br />

• Ellipse: b 2 x 2 + a 2 y 2 = a 2 b 2<br />

• Hyperbel: b 2 x 2 - a 2 y 2 = a 2 b 2<br />

• Parabel: y 2 = 2p x bzw. x 2 = 2p y<br />

Bei allen Formen soll wieder ein eindeutiger Name des Kegelschnittes am Beginn der<br />

Zeile mit Doppelpunkt angegeben werden können. Eine Hyperbel hyp und eine Ellipse ell<br />

könnten demnach auf folgende Art geschrieben werden:<br />

• hyp: 16 x 2 - 9 y 2 = 144<br />

• ell: 9 x 2 + 4 y 2 = 36<br />

Flexible algebraische Eingabe<br />

Um eine flexible Eingabe der angeführten Gleichungen zu ermöglichen, sollen beliebige<br />

arithmetische Ausdrücke in den Variablen x und y mit den Operatoren +, -, *, /, ^<br />

und Klammern erlaubt sein. Außerdem sollen benutzerdefinierte Variablen für Zahlen,<br />

Vektoren und Punkte möglich sein.<br />

Die Software soll dann beispielsweise die Eingabe 3 (2x - y) = 16 2 automatisch zu<br />

der impliziten Gleichung 6x - 3y = 256 vereinfachen und als Gerade identifizieren. Diese<br />

flexible Eingabeart ist insbesondere deshalb wichtig, da auch in der Schule die Gleichungen<br />

üblicherweise in verschiedensten Formen gegeben sind.<br />

Wir wollen alle algebraischen Eingaben zulassen, die durch Ausmultiplizieren und Zusammenfassen<br />

arithmetischer Ausdrücke auf die oben angeführten Eingabemöglichkeiten<br />

zurückgeführt werden können. Hochzahlen sollen dabei zu natürlichen Zahlen und Divisoren<br />

zu Konstanten vereinfacht werden können.<br />

2.3 Darstellung der Objekte<br />

Nach der Eingabe eines Objekts wird es auf zwei Arten dargestellt: im Algebrafenster<br />

(Koordinaten, Gleichung oder Parameterdarstellung) und im Geometriefenster (Punkt,<br />

Vektor, Gerade, Kegelschnitt). Es kann nun eine bevorzugte algebraische Darstellungsart<br />

gewählt werden. Außerdem können Objekte im Geometriefenster ausgeblendet und wieder<br />

angezeigt werden.<br />

Punkt<br />

Punkte sollen wahlweise in cartesischen oder Polarkoordinaten dargestellt werden können.


10 KAPITEL 2. ANFORDERUNGEN AN DIE SOFTWARE<br />

Gerade<br />

Die Darstellungsarten einer Geraden sind<br />

• Implizite Gleichung<br />

• Explizite Gleichung<br />

• Parameterdarstellung<br />

Kegelschnitt<br />

Ein Kreis mit Mittelpunkt M soll immer auf eine der folgenden beiden Arten dargestellt<br />

werden. Eine Auswahl durch den Benutzer ist hier nicht erforderlich.<br />

• M ≠ O : (x - m) 2 + (y - n) 2 = c<br />

• M = O: k: x 2 + y 2 = c<br />

Wichtige Merkmale eines Kreises sind<br />

• Mittelpunkt<br />

• Radius<br />

Die übrigen Kegelschnitte (u.a. Ellipse, Hyperbel, Parabel) sollen als quadratische Gleichung<br />

in x und y der Forma x 2 + b y 2 + c xy + d x + e y = f dargestellt werden. Die<br />

für die Schule wichtigen Hauptlagen von Ellipse und Hyperbel sind damit auch abgedeckt.<br />

Hier gilt einfach c = d = e = 0.<br />

2.4 Beziehungen zwischen Objekten<br />

Zu bestehenden Objekten möchten wir auch Auskunft über ihre Beziehung zueinander<br />

erhalten.<br />

• Gleichheit oder Ungleichheit zweier Objekte<br />

• Inzidenzbeziehung (Punkt auf Gerade oder Kegelschnitt)<br />

• Beziehung zweier Vektoren (linear abhängig bzw. unabhängig)<br />

• Lagebeziehung zweier Geraden (identisch, parallel, schneidend)<br />

• Lagebeziehung einer Geraden und eines Kegelschnitts (Passante, Tangente, Sekante,<br />

Asymptote, Erzeugende, Treffgerade)


2.5. VERÄNDERUNG VON OBJEKTEN 11<br />

2.5 Veränderung von Objekten<br />

Die bisherigen Anforderungen beziehen sich alle auf eine statische Anordnung der Objekte.<br />

Es soll aber auch möglich sein, bestehende Objekte nachträglich zu verändern. Der<br />

springende Punkt dabei ist, dass die angegebenen Beziehungen erhalten bleiben müssen.<br />

Es gibt damit einerseits freie und andererseits abhängige Objekte. Freie Objekte können<br />

verändert werden, abhängige nicht. Wenn ein freies Objekt verändert wird, ändern sich<br />

auch alle davon abhängigen Objekte.<br />

Geometrische Veränderung: Bewegungen<br />

Die geometrische Darstellung eines Objekts soll durch folgende Bewegungen beeinflusst<br />

werden können:<br />

• Verschiebung<br />

• Drehung um den Ursprung<br />

• Drehung um einen Punkt<br />

• Punktspiegelung<br />

• Geradenspiegelung<br />

Beispielsweise ist ein Kegelschnitt durch fünf Punkte eindeutig festgelegt. Wird einer<br />

davon verschoben, ändert sich der Kegelschnitt.<br />

Algebraische Veränderung<br />

Ein Objekt soll auch durch Manipulation seiner algebraischen Darstellung verändert werden<br />

können. Die Richtung einer Geraden kann also beispielsweise durch Veränderung eines<br />

Koeffizienten ihrer Gleichung beeinflusst werden.<br />

Variationen, die den Objekttyp verändern, werden hingegen nicht zugelassen. Aus einem<br />

Kegelschnitt darf also keine Gerade erzeugt werden. Es ist jedoch durchaus möglich, die<br />

Koeffizienten einer Ellipse so zu verändern, dass daraus eine Hyperbel wird.


12 KAPITEL 2. ANFORDERUNGEN AN DIE SOFTWARE


Teil II<br />

Mathematik<br />

13


Kapitel 3<br />

Lineare Algebra<br />

In diesem Kapitel wollen wir einige grundlegende Begriffe und Sätze der linearen Algebra<br />

behandeln, die uns später als Werkzeuge zur Lösung unserer geometrischen Probleme<br />

dienen werden.<br />

Im Abschnitt über Vektorräume (3.1) erklären wir mit Hilfe des inneren Produkts, wie<br />

wir Längen und Winkel messen können. Weiters erörtern wir, was unter einer Basis, cartesischen<br />

Koordinaten und Polarkoordinaten zu verstehen ist. Danach wenden wir uns linearen<br />

Abbildungen (3.2) zu, welche man durch Matrizen darstellen kann. Eine Anwendung linearer<br />

Abbildungen sind Basiswechsel (3.3), die Vorstufe der affinen Koordinatentransformationen<br />

(4.3). Determinante und Spur (3.4) sind wichtige Größen von Matrizen. Die erste<br />

Anwendung von Determinanten sehen wir bei der Behandlung linearer Gleichungssysteme<br />

(3.5). Danach gehen wir bereits in Richtung Geometrie. Orthogonale Endomorphismen<br />

(3.6) spielen bei der späteren Beschreibung von Bewegungen (4.4) eine entscheidende Rolle.<br />

Für die Klassifikation der Kegelschnitte (4.5.3) benötigen wir einiges Wissen über die Diagonalisierung<br />

von Matrizen (3.7). Einen wichtigen Spezialfall diagonalisierbarer Matrizen<br />

betrachten wir abschließend beim Spektralsatz (3.8).<br />

3.1 Vektorräume<br />

Definition 3.1 Ein Vektorraum V über einem Körper (K, +, ·) ist eine nichtleere Menge<br />

V mit einer Vektoraddition ⊕ : V × V → V und einer Skalarmultiplikation ⊙ : K × V →<br />

V . Dabei ist (V, ⊕) eine kommutative Gruppe (also assoziativ, neutrales Element, inverse<br />

Elemente), und für die Skalarmultiplikation ⊙ gelten folgende Eigenschaften.<br />

(λ · µ) ⊙ a = λ ⊙ (µ ⊙ a) ∀λ, µ ∈ K; ∀a ∈ V Assoziativgesetz<br />

λ ⊙ (a ⊕ b) = λ ⊙ a ⊕ λ ⊙ b λ ∈ K; a, b ∈ V Distributivgesetz 1<br />

(λ + µ) ⊙ a = λ ⊙ a ⊕ µ ⊙ a λ, µ ∈ K; a ∈ V Distributivgesetz 2<br />

1 ⊙ a = a Einsgesetz<br />

15


16 KAPITEL 3. LINEARE ALGEBRA<br />

Abbildung 3.1: Vektoraddition<br />

Abbildung 3.2: Skalarmultiplikation<br />

Wir betrachten nun die Menge R 2 = R × R = {(x, y) : x, y ∈ R} und definieren die<br />

Standardoperationen ⊕, ⊙ mit a = (a x , a y ), b = (b x , b y ) ∈ R 2 und λ ∈ R als a ⊕ b :=<br />

(a x +b x , a y +b y ) sowie λ ⊙a := (λ ·a x , λ ·a y ). Der R 2 bildet mit diesen beiden Operationen<br />

einen Vektorraum über dem Körper R. Damit können wir Vektoren der Ebene addieren<br />

und mit einer Zahl multiplizieren. Anstelle der Symbole ⊕ und ⊙ werden wir in Zukunft<br />

der Einfachheit halber + und · verwenden. Aus dem Kontext wird jeweils klar sein, ob es<br />

sich um die jeweilige Operation im R 2 oder in R handelt.<br />

3.1.1 Inneres Produkt<br />

Als nächsten Schritt wollen wir jedem Vektor eine Länge und je zwei Vektoren den eingeschlossenen<br />

Winkel zuordnen. Dazu verwendet man das sogenannte innere Produkt.<br />

Definition 3.2 Ein inneres Produkt oder Skalarprodukt auf einem Vektorraum V über<br />

K ist eine Funktion 〈 , 〉 : V × V → K mit folgenden Eigenschaften:<br />

1. Die Funktion 〈u, v〉 ist bilinear. ∀u, v, w ∈ V ; λ ∈ K:<br />

〈u, v + w〉 = 〈u, v〉 + 〈u, w〉<br />

〈u + v, w〉 = 〈u, w〉 + 〈v, w〉<br />

〈λu, w〉 = λ〈u, w〉 = 〈u, λw〉<br />

2. Die Funktion 〈u, v〉 ist symmetrisch.<br />

∀u, v ∈ V : 〈u, v〉 = 〈v, u〉


3.1. VEKTORRÄUME 17<br />

3. Die Funktion 〈u, v〉 ist positiv definit.<br />

∀u ∈ V : 〈u, u〉 ≥ 0<br />

〈u, u〉 = 0 ⇔ u = O<br />

Kurz: Ein Inneres Produkt ist eine positiv definite, symmetrische Bilinearform.<br />

Definition 3.3 Ein Vektorraum V über R mit einem inneren Produkt V × V → R heißt<br />

euklidischer Vektorraum.<br />

Es sei die Funktion 〈a, b〉 : R 2 × R 2 → R mit a = (a x , a y ), b = (b x , b y ) ∈ R 2 wie folgt<br />

definiert: 〈a, b〉 := a x b x + a y b y . Diese Funktion ist eine positiv definite Bilinearform und<br />

wird das gewöhnliche innere Produkt des R 2 gennannt. Wir erweitern den Vektorraum R 2<br />

nun um dieses innere Produkt und erhalten so einen euklidischen Vektorraum, in dem wir<br />

mit Hilfe der folgenden beiden Definitionen Längen und Winkel angeben können.<br />

Definition 3.4 Seien V ein euklidischer Vektorraum und a ∈ V . Dann versteht man unter<br />

der Norm oder Länge von a die nichtnegative reelle Zahl<br />

‖ a‖ := +√ 〈a, a〉<br />

Abbildung 3.3: Norm (Länge)<br />

Mit dem gewöhnlichen inneren Produkt berechnet sich die Norm im R 2 damit als<br />

‖ a‖ = √ 〈a, a〉 =<br />

√<br />

a 2 x + a2 y .<br />

Einen Vektor a mit der Länge ‖ a‖ = 1 nennen wir Einheitsvektor oder normierten<br />

Vekor und bezeichnen ihn manchmal mit a 0 . Als Motivation für die nachfolgende Definition<br />

des Winkels zwischen zwei Vektoren wollen wir auf die geometrische Bedeutung des<br />

gewöhnlichen inneren Produkts eingehen: Seien b ein Vektor beliebiger Länge und a ein<br />

Einheitsvektor. Dann entspricht die Zahl 〈a, b〉 der Länge der Projektion von b auf a (siehe<br />

Abbildung 3.4).<br />

Der Cosinus des von von a und b eingeschlossenen Winkels ist das Verhältnis von<br />

Ankathete zu Hypotenuse 〈a, b〉 : ‖ b‖, wobei ‖ a‖ = 1 ist. Damit können wir den Begriff<br />

des Winkels zwischen zwei Vektoren einführen.


18 KAPITEL 3. LINEARE ALGEBRA<br />

Abbildung 3.4: Inneres Produkt<br />

Definition 3.5 Seien V ein euklidischer Vektorraum und a, b ∈ V mit a, b ≠ O. Dann<br />

versteht man unter dem Winkel zwischen a und b die eindeutig bestimmte Zahl ϕ mit<br />

0 ≤ ϕ ≤ π gegeben durch<br />

cosϕ =<br />

〈a, b〉<br />

‖ a‖‖ b‖ .<br />

Für den Winkel zwischen a und b schreiben wir ∡(a, b). a und b sind orthogonal oder<br />

stehen normal aufeinander genau dann, wenn ϕ = π bzw. 〈a, b〉 = 0. Wir schreiben dafür:<br />

2<br />

a⊥b.<br />

Abbildung 3.5: Winkel<br />

Mit dem gewöhnlichen inneren Produkt berechnet sich der Winkel zwischen zwei Vektoren<br />

a, b ∈ R 2 mittels<br />

cosϕ =<br />

〈a, b〉<br />

‖ a‖‖ b‖ =<br />

a x b x + a y b y<br />

√ √ .<br />

a<br />

2<br />

x + a 2 y b<br />

2<br />

x + b 2 y<br />

Für jeden Vektor a = (a x , a y ) ∈ R 2 ist sein Normalvektor a ⊥ := (−a y , a x ) bis auf Länge<br />

und Orientierung eindeutig bestimmt.


3.1. VEKTORRÄUME 19<br />

3.1.2 Basis<br />

Die Koordinaten u = (u x , u y ) eines Vektors des R 2 hängen vom gewählten Koordinatensystem,<br />

der sogenannten Basis, ab. Dazu benötigen wir den Begriff der linearen Unabhängigkeit.<br />

Definition 3.6 Sei V ein Vektorraum über K. Die Vektoren v 1 , . . .,v n ∈ V sind linear<br />

abhängig, wenn es Zahlen λ 1 , . . .,λ n ∈ K nicht alle gleich 0 gibt, mit λ 1 v 1 +. . .+λ n v n = O.<br />

Andernfalls sind die Vektoren v 1 , . . .,v n ∈ V linear unabhängig.<br />

Im R 2 sind zwei Vektoren u, v genau dann linear abhängig, wenn es ein λ ∈ R gibt, so<br />

dass u = λv. Sie zeigen dann in dieselbe Richtung und man nennt sie parallel.<br />

Definition 3.7 Seien V ein Vektorraum über K und v 1 , . . ., v n ∈ V . Ein Vektor u ∈ V<br />

heißt Linearkombination der Vektoren v 1 , . . ., v n ∈ V , wenn es Zahlen λ 1 , . . .,λ n ∈ K gibt,<br />

mit u = λ 1 v 1 + . . . + λ n v n . Man sagt auch: u ist linear abhängig von v 1 , . . .,v n .<br />

Wenn ein Vektor u Linearkombination von v 1 , . . ., v n ist, dann sind die Vektoren u,<br />

v 1 , . . ., v n linear abhängig. Drei oder mehr beliebige Vektoren (≠ O) des R 2 sind übrigens<br />

immer linear abhängig, da sich stets einer als Linearkombination der anderen darstellen<br />

lässt.<br />

Definition 3.8 Seien V ein Vektorraum über K und v 1 , . . ., v n ∈ V . Die Menge aller<br />

Linearkombinationen von v 1 , . . .,v n heißt lineare Hülle von v 1 , . . .,v n . Schreibweise:<br />

[v 1 , . . .,v n ].<br />

Definition 3.9 Sei U ⊆ V und U ein Vektorraum, dann heißt U Untervektorraum von<br />

V.<br />

Jede lineare Hülle von Vektoren aus V bildet stets einen Untervektorraum von V . Im R 2<br />

ist jede lineare Hülle entweder der Nullpunkt ([O] = O), eine Gerade durch den Nullpunkt<br />

([a] = {λa : λ ∈ R}) oder der R 2 selbst ([a, b] = {λ 1 a + λ 2 b : λ 1 , λ 2 ∈ R}, mit a, b<br />

linear unabhängig). Der Durchschnitt zweier Untervektorräume bildet stets wieder einen<br />

Untervektorraum, die Vereinigung jedoch im Allgmeinen nicht.<br />

Beispiel. Ein Beispiel dafür wäre etwa U 1 = [(1, 0)], U 2 = [(1, 1)]. Der Durchschnitt U 1 ∩<br />

U 2 = {O} ist ein (trivialer) Untervektorraum des R 2 . Die Vereinigung U 1 ∪ U 2 = [(1, 0)] ∪<br />

[(1, 1)] bildet keinen Untervektorraum, da die Vektoraddition hier nicht abgeschlossen ist:<br />

a = (1, 0) ∈ U 1 ∪ U 2 und b = (1, 1) ∈ U 1 ∪ U 2 , aber a + b = (2, 1) /∈ U 1 ∪ U 2 .<br />

Deshalb brauchen wir eine andere Art der Verbindung zweier Untervektorräume, die<br />

wieder einen Untervektorraum bildet.<br />

Definition 3.10 Seien U 1 , U 2 zwei Untervektorräume von V . Dann verstehen wir unter<br />

dem Verbindungsraum oder der Summe von U 1 und U 2 die lineare Hülle der Vereinigung<br />

von U 1 und U 2 :<br />

U 1 + U 2 := [U 1 ∪ U 2 ].


20 KAPITEL 3. LINEARE ALGEBRA<br />

Für unser eben genanntes Beispiel ist U 1 + U 2 = [(1, 0), (1, 1)]. Mit Hilfe der linearen<br />

Hülle können wir nun auch angeben, was unter einer Basis zu verstehen ist.<br />

Hat man eine Menge E linear abhängiger Vektoren, so gibt es einen Vektor, welcher<br />

Linearkombination der anderen und damit linear abhängig ist. Wenn man diesen entfernt,<br />

ändert sich die lineare Hülle der Menge nicht. Durch wiederholtes Entfernen linear abhängiger<br />

Vektoren kommt man schließlich zu einer linear unabhängigen Menge B mit [B] = [E].<br />

Definition 3.11 Sei V ein Vektorraum. V heißt endlichdimensional genau dann, wenn es<br />

eine endliche Menge E ⊆ V gibt mit [E] = V .<br />

Eine Menge von Vektoren B ⊆ V heißt Basis von V genau dann, wenn die Elemente<br />

von B linear unabhängig sind und [B] = V .<br />

Sei V nun ein endlichdimensionaler Vektorraum und B eine beliebige Basis von V. Die<br />

Anzahl der Elemente von B heißt Dimension von V. Wir schreiben dafür: dim V .<br />

Eine Basis B = {b 1 , . . .,b n } von V ist nichts anderes als ein Koordinatensystem mit dem<br />

Nullpunkt als Ursprung. Es lässt sich nun jeder Vektor u ∈ V als Linearkombination der<br />

Basisvektoren darstellen: u = λ 1 b 1 +. . .+λ n b n . Die Zahlen (λ 1 , . . .,λ n ) heißen Koordinaten<br />

von u relativ zur Basis B. Aufgrund der linearen Unabhängigkeit der Vektoren von B ist<br />

diese Darstellung eindeutig.<br />

Abbildung 3.6: Basis des R 2<br />

Für den R 2 (dim R 2 = 2) bilden je zwei beliebige linear unabhängige Vektoren eine<br />

Basis. Ein wichtiger Spezialfall ergibt sich, wenn die Basisvektoren zusätzlich aufeinander<br />

normal stehen.<br />

Definition 3.12 Eine Basis B = {b 1 , . . .,b n } eines endlichdimensionalen Vektorraums V<br />

heißt orthonormal genau dann, wenn folgende Bedingungen erfüllt sind:<br />

‖ b i ‖ = 1 ∀i ∈ {1, . . .,n}<br />

〈b i , b j 〉 = 0 ∀i ≠ j ∈ {1, . . .,n}<br />

Für eine Orthonormalbasis schreiben wir kurz ONB.


3.1. VEKTORRÄUME 21<br />

Die Vektoren einer ONB haben alle Länge 1 und stehen zueinander normal. Die sogenannte<br />

Standardbasis {(1, 0), (0, 1)} des R 2 ist ein Beispiel für eine ONB. Die Koordinaten<br />

relativ zu einer ONB nennen wir cartesische Koordinaten nach dem französischen Mathematiker<br />

und Philosophen René Descartes (1596 – 1650), der in seinem Werk La geométrie<br />

(1637) Zahlenpaare zur Beschreibung von Punkten der Ebene einführte.<br />

Abbildung 3.7: Cartesische Koordinaten in einer Orthonormalbasis<br />

Das gewöhnliche innere Produkt ergibt sich übrigens in einer sehr natürlichen Weise<br />

für einen Vektorraum mit Orthonormalbasis.<br />

Bemerkung 3.1 Seien u = (u 1 , . . .,u n ), v = (v 1 , . . .,v n ) zwei Vektoren eines euklidischen<br />

Vektorraumes V relativ zu einer ONB {b 1 , . . .,b n }. Dann ist das innere Produkt von u und<br />

v gegeben als<br />

〈u, v〉 = u 1 v 1 + . . . + u n v n .<br />

Beweis. Es sind u = u 1 b 1 + . . . + u n b n und v = v 1 b 1 + . . . + v n b n . Für eine ONB gilt<br />

〈b i , b j 〉 = 1 für i = j und 〈b i , b j 〉 = 0 für i ≠ j. Ein inneres Produkt ist eine positiv definite<br />

Bilinearform (Definition 3.2, p.16) und daher:<br />

〈u, v〉 = 〈u 1 b 1 + . . . + u n b n , v 1 b 1 + . . . + v n b n 〉<br />

n∑ n∑<br />

= 〈 u i b i , v j b j 〉<br />

=<br />

=<br />

i=1<br />

n∑<br />

i=1<br />

j=1<br />

n∑<br />

u i v j 〈b i , b j 〉<br />

j=1<br />

n∑<br />

u i v i<br />

i=1<br />

= u 1 v 1 + . . . + u n v n<br />

✷<br />

Mit Hilfe von Länge (Definition 3.4, p.17) und Winkel (Definition 3.5, p.18) geben wir<br />

nun noch eine weitere gebräuchliche Art der algebraischen Darstellung von Vektoren der<br />

Ebene an, die sogenannten Polarkoordinaten.


22 KAPITEL 3. LINEARE ALGEBRA<br />

Definition 3.13 Sei u ≠ 0 ein Vektor des R 2 mit den cartesischen Koordinaten (‖ u‖ ·<br />

cosϕ, ‖ u‖ · sin ϕ). Wir nennen die Darstellung (‖ u‖; ϕ) mit 0 ≤ ϕ ≤ 2π die Polarkoordinaten<br />

von u, wobei<br />

(‖ u‖; ϕ) :=<br />

(<br />

‖ u‖ · cos ϕ<br />

‖ u‖ · sin ϕ<br />

)<br />

.<br />

ϕ entspricht hier dem gegen den Uhrzeigersinn gemessenen Winkel zwischen x-Achse<br />

und v. Im Unterschied zum Winkelbegriff aus Definition 3.5, p.18 kann ϕ auch Werte<br />

zwischen π und 2π annehmen.<br />

Abbildung 3.8: Polarkoordinaten<br />

Bemerkung 3.2 Sei u ≠ O ein Vektor des R 2 . Dann entsprechen sich seine Polarkoordinaten<br />

und cartesischen Koordinaten eineindeutig.<br />

Beweis. (⇒) Sei u in Polarkoordinaten u = (r; ϕ) gegeben. Nach Definition 3.13, p.22<br />

sind die cartesischen Koordinaten eindeutig festgelegt als (r cos ϕ, r sin ϕ).<br />

(⇐) Sei umgekehrt u ≠ O in cartesischen Koordinaten u = (x, y) gegeben. Wir suchen<br />

nun die Polarkoordinaten (r; ϕ) von u. Dabei setzen wir r := ‖ u‖ = √ x 2 + y 2 und<br />

betrachten den Winkel β zwischen x-Achse und u.<br />

( ) ( )<br />

x 1<br />

〈 , 〉<br />

y 0<br />

cosβ =<br />

‖<br />

(<br />

x<br />

y<br />

)<br />

‖‖<br />

(<br />

1<br />

0<br />

)<br />

‖<br />

= x r ,<br />

wobei 0 ≤ β ≤ π. Für y < 0 soll ϕ aber einen Wert zwischen π und 2π annehmen. Dies<br />

erreichen wir durch folgende Fallunterscheidung.<br />

{<br />

arccos x : y ≥ 0<br />

ϕ :=<br />

r<br />

2π − arccos x : y < 0<br />

r<br />

Weisen wir nun noch nach, dass wirklich (r; ϕ) ≡ (x, y), also x = r cosϕ und y = r sin ϕ<br />

gelten. Für die Winkelfunktionen ist cos(2π − α) = cos(α), sin(2π − α) = − sin(α) sowie


3.2. LINEARE ABBILDUNGEN UND MATRIZEN 23<br />

cos 2 α + sin 2 α = 1. Für die x-Koordinate ergibt sich damit unmittelbar die gewünschte<br />

Äquivalenz in beiden Fällen.<br />

(<br />

r cosϕ = r cos arccos x ) (<br />

= r cos 2π − arccos x )<br />

= r x r<br />

r r = x<br />

Sei zunächst y ≥ 0. Dann ist 0 ≤ ϕ = β ≤ π und damit 0 ≤ sin ϕ = +√ 1 − cos 2 ϕ.<br />

√<br />

r sin ϕ = r +√ (<br />

1 − cos 2 ϕ = r + 1 − cos 2 arccos x )<br />

r<br />

√ √<br />

= r + 1 − x2<br />

r = r + 1 − x2<br />

2 x 2 + y = ry 2 r = y<br />

Sei nun y < 0, dann ist π < ϕ = 2π − β < 2π und damit 0 > sin ϕ = −√ 1 − cos 2 ϕ.<br />

(<br />

r sin ϕ = r sin 2π − arccos x ) (<br />

= −r sin arccos x )<br />

√<br />

r<br />

r<br />

(<br />

= −r − 1 − cos 2 arccos x )<br />

= r y r r = y<br />

Damit wissen wir gleichzeitig, wie man Polarkoordinaten in cartesische umrechnet. ✷<br />

3.2 Lineare Abbildungen und Matrizen<br />

Wenn wir Geometrie betreiben, wollen wir natürlich auch Punkte bzw. Vektoren verschieben,<br />

drehen oder spiegeln können. Diese drei Operationen gehören zu einer speziellen Klasse<br />

von Abbildungen, den sogenannten Bewegungen. Um dorthin zu gelangen, führen wir<br />

zunächst lineare und später affine Abbildungen (4.2, p.54) ein. Mit linearen Abbildungen<br />

können wir Drehungen und Spiegelungen beschreiben. Die affinen Abbildungen brauchen<br />

wir für zusätzliche Verschiebungen.<br />

Definition 3.14 Seien V und W zwei Vektorräume über dem Körper K. Eine lineare<br />

Abbildung L : V → W ist eine Abbildung, die jedem v ∈ V ein L(v) ∈ W zuordnet, so<br />

dass<br />

L(u + v) = L(u) + L(v) ∀u, v ∈ V<br />

L(λv) = λ · L(v) ∀u ∈ V, ∀λ ∈ K<br />

Anstelle von L(v) werden wir oft auch Tv schreiben. Weiters unterscheiden wir folgende<br />

spezielle lineare Abbildungen:<br />

Linearform L : V → K linear<br />

Isomorphismus L : V → W linear und bijektiv<br />

Endomorphismus L : V → V linear<br />

Automorphismus L : V → V linear und bijektiv


24 KAPITEL 3. LINEARE ALGEBRA<br />

Wir wollen uns im Folgenden auf Endomorphismen konzentrieren, da wir an Abbildungen<br />

vom R 2 in den R 2 interessiert sind. Lineare Abbildungen lassen sich durch Matrizen<br />

darstellen. Diese Darstellung ist abhängig von der gewählten Basis des Vektorraums. Um<br />

eine solche Matrix zu erhalten, stellt man die Bilder einer Basis relativ zu einer zweiten<br />

dar. Wir werden dabei in der Regel zweimal dieselbe Basis verwenden.<br />

Definition 3.15 Seien V ein endlichdimensionaler Vektorraum sowie C = {c 1 , . . .,c n }<br />

und D = {d 1 , . . ., d n } zwei Basen von V . Weiters sei L : V → V ein Endomorphismus<br />

gegeben durch:<br />

L(c 1 ) = a 11 d 1 + . . . + a n1 d n<br />

.<br />

L(c n ) = a 1n d 1 + . . . + a nn d n<br />

Dann heißt A die Matrix von L relativ zu den Basen C, D mit<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

a 11<br />

.<br />

a n1<br />

⎞<br />

. . . a 1n<br />

⎟<br />

. ⎠<br />

. . . a nn<br />

Wenn für Definitions- und Zielraum dieselbe Basis gewählt wird, also C = D, dann<br />

nennen wir A die Matrix von L relativ zur Basis C.<br />

Um die Matrix eines Endomorphismus relativ zur Basis C zu erhalten, berechnet man<br />

also die Bilder der Basisvektoren C, findet deren Koordinaten relativ zu C und schreibt<br />

diese Koordinaten spaltenweise in eine Matrix.<br />

Betrachten wir beispielsweise den Endomorphismus L(x, y) = (2x − y, 3y) relativ zur<br />

Standardbasis im R 2 . Die Bilder der Basisvektoren sind L(1, 0) = (2, 0) = 2·(1, 0)+0·(0, 1)<br />

und L(0, 1) = (−1, 3) = −1 · (1, 0) + 3 · (0, 1). Die gefundenen Koordinaten der Bilder<br />

schreiben wir nun spaltenweise in eine Matrix A, die damit den Endomorphismus L relativ<br />

zur Standardbasis darstellt.<br />

A =<br />

(<br />

2 −1<br />

0 3<br />

)<br />

Multipliziert man A mit einem Vektor (x, y) nach den Regeln der Matrizenmultiplikation<br />

( Zeilenvektor mal Spaltenvektor“), so entspricht dies gerade L(x, y) = (2x − y, 3y).<br />

”<br />

( ) ( ) ( )<br />

2 −1 x 2x − y<br />

· =<br />

0 3 y 3y<br />

Lineare Abbildungen lassen sich also mittels Matrizenmultiplikation realisieren. Wichtige<br />

Endomorphismen sind die identische Abbildung I (Matrix E) und die Drehung um den


3.2. LINEARE ABBILDUNGEN UND MATRIZEN 25<br />

Ursprung (Matrix T(ϕ)) gegen den Uhrzeigersinn um den Winkel ϕ (vgl. Bewegungen 4.4,<br />

p.58).<br />

( ) (<br />

)<br />

1 0<br />

cos ϕ − sin ϕ<br />

E = T(ϕ) =<br />

0 1<br />

sin ϕ cosϕ<br />

Ein Isomorphismus L : V → W ist, wie gesagt, eine bijektive lineare Abbildung. Das<br />

heißt, dass es eine Umkehrabbildung L −1 : W → V gibt, sodass für alle v ∈ V und<br />

alle w ∈ W gilt: L −1 (L(v)) = v bzw. L(L −1 (w)) = w. Entsprechendes gilt auch für die<br />

zugehörigenen Matrizen.<br />

Definition 3.16 Eine Matrix T heißt invertierbar genau dann, wenn es eine Matrix T −1<br />

gibt, sodass TT −1 = T −1 T = E gilt.<br />

Eine invertierbare Matrix T entspricht also einem Isomorphismus und T −1 seiner Umkehrabbildung.<br />

Definition 3.17 Sei A = (a ij ) eine m × n Matrix. Dann ist A t die transponierte Matrix<br />

zu A eine n × m Matrix mit A t = (a ji ). Wir nennen u ∈ V auch einen Spaltenvektor und<br />

u t den zugehörigen Zeilenvektor.<br />

Seien a 1 , . . .,a n ∈ K m die Spaltenvektoren der Matrix A = (a 1 , . . .,a n ). A t ensteht<br />

durch Vertauschen der Zeilen und Spalten von A. Die transponierte Matrix ist dann<br />

⎛ ⎞<br />

a t<br />

A t ⎜ ⎟<br />

= ⎝<br />

1. ⎠ .<br />

Beispiel. A =<br />

a t n<br />

(<br />

1 0 5<br />

1 2 0<br />

)<br />

A t =<br />

⎛<br />

⎜<br />

⎝<br />

1 1<br />

0 2<br />

5 0<br />

Das gewöhnliche innere Produkt lässt sich damit auch als Matrizenmultiplikation ausdrücken.<br />

Seien nämlich u = (u 1 , . . .,u n ) und v = (v 1 , . . .,v n ) zwei Vektoren des R n , dann<br />

gilt 〈u, v〉 = ∑ n<br />

i=1 u iv i = u t v.<br />

Bemerkung 3.3 Seien A eine m × n Matrix und B eine n × p Matrix. Dann gilt:<br />

(A · B) t = B t · A t<br />

Abschließend sehen wir uns noch zwei wichtige Begriffe im Zusammenhang mit linearen<br />

Abbildungen an.<br />

Definition 3.18 Sei L : V → W eine lineare Abbildung. Dann versteht man unter dem<br />

Kern (Nullspace) von L<br />

ker(L) := {v ∈ V : L(v) = O}<br />

Unter dem Bild (Image) von L versteht man<br />

im (L) := {L(v) ∈ W : v ∈ V }<br />

⎞<br />

⎟<br />


26 KAPITEL 3. LINEARE ALGEBRA<br />

ker(L) ist stets ein Untervektorraum von V und im (L) ein Untervektorraum von W.<br />

Weiters gilt folgender Satz.<br />

Satz 3.1 (Dimensionssatz für lineare Abbildungen) Seien L : V → W eine lineare<br />

Abbildung und V ein endlichdimensionaler Vektorraum. Dann sind ker(L) und im (L)<br />

endlichdimensional und<br />

dim(V ) = dim(ker(L)) + dim(im (L)).<br />

Mit Hilfe von Kern und Bild lässt sich der Begriff Isomorphismus charakterisieren. Eine<br />

lineare Abbildung ist nämlich genau dann injektiv, wenn ker(L) = {O}, und genau dann<br />

surjektiv, wenn im (L) = W gilt.<br />

Satz 3.2 Eine lineare Abbildung L : V → W ist genau dann ein Isomorphismus, wenn<br />

ker(L) = {O} und im (L) = W.<br />

3.3 Basiswechsel<br />

Die Gestalt der Matrix einer linearen Abbildung hängt von der gewählten Basis ab. Gegeben<br />

sei die zu einem Endomorphismus gehörende Matrix A relativ zur Basis C. Wie<br />

berechnet man daraus die zum selben Endomorphismus gehörende Matrix B relativ zu<br />

einer anderen Basis D?<br />

A<br />

C −→<br />

T ↑<br />

D −→<br />

B<br />

C<br />

↓ T −1<br />

D<br />

Die Idee ist nun folgende: Wir rechnen zunächst die Koordinaten relativ zur Basis D in<br />

solche der Basis C um (Matrix T im Bild). Nun wenden wir die Matrix A an und erhalten<br />

als Ergebnis wieder Koordinaten relativ zur Basis C. Diese wandeln wir schlussendlich<br />

noch in Koordinaten relativ zu D um (Matrix T −1 im Bild). Insgesamt erhalten wir damit:<br />

B = T −1 AT.<br />

T ist hier die Matrix der identischen Abbildung relativ zu den Basen D, C. Die identische<br />

Abbildung ist ein Isomorphismus und T damit invertierbar. Die Umkehrabbildung<br />

T −1 existiert also wirklich und stellt die identische Abbildung relativ zu C, D dar. Matrizen,<br />

die dieselbe lineare Abbildung relativ zu unterschiedlichen Basen darstellen, nennt<br />

man übrigens ähnlich. In unserem Fall sind A und B ähnliche Matrizen.


3.3. BASISWECHSEL 27<br />

Beispiel. Betrachten wir als Beispiel für einen Basiswechsel nun nochmals den Endomorphismus<br />

L(x, y) = (2x−y, 3y), dessen Matrix relativ zur Standardbasis C = {(1, 0), (0, 1)}<br />

wir vorhin berechnet haben:<br />

A =<br />

(<br />

2 −1<br />

0 3<br />

)<br />

Wie sieht nun die zu L gehörige Matrix B relativ zur Basis D = {(1, 1), (−1, 1)} aus?<br />

Wir können B direkt berechnen, indem wir die Bilder der Basisvektoren von D relativ zu<br />

D darstellen. Andererseits können wir B = T −1 AT verwenden, was wir nun tun wollen. T<br />

ist dabei die Matrix der identischen Abbildung I relativ zu D, C.<br />

I(1, 1) = (1, 1) = 1 · (1, 0) + 1 · (0, 1)<br />

I(−1, 1) = (−1, 1) = −1 · (1, 0) + 1 · (0, 1)<br />

( )<br />

1 −1<br />

T =<br />

1 1<br />

T −1 ist umgekehrt die Matrix der identischen Abbildung I relativ zu C, D.<br />

I(1, 0) = (1, 0) = 1 2 · (1, 1) − 1 · (−1, 1)<br />

2<br />

I(0, 1) = (0, 1) = 1 2 · (1, 1) + 1 · (−1, 1)<br />

) 2<br />

T −1 =<br />

(<br />

1<br />

2<br />

− 1 2<br />

1<br />

2<br />

1<br />

2<br />

B:<br />

Einfaches Nachrechnen zeigt, dass wirklich TT −1 = T −1 T = E gilt. Nun berechnen wir<br />

B = T −1 AT =<br />

(<br />

1<br />

2<br />

− 1 2<br />

1<br />

2<br />

1<br />

2<br />

) (<br />

2 −1<br />

0 3<br />

)(<br />

1 −1<br />

1 1<br />

)<br />

=<br />

(<br />

2 0<br />

1 3<br />

)<br />

Zur Probe wollen wir B auch noch direkt als Matrix von L relativ zur Basis D angeben.<br />

L(1, 1) = (1, 3) = 2 · (1, 1) + 1 · (−1, 1)<br />

L(−1, 1) = (−3, 3) = 0 · (1, 1) + 3 · (−1, 1)<br />

( )<br />

2 0<br />

B =<br />

1 3<br />

Basiswechsel werden bei der sogenannten Diagonalisierung von Matrizen (3.7, p.38) eine<br />

Rolle spielen. Dabei versucht man, eine Basis D zu finden, bei der die Matrix B möglichst<br />

einfache Gestalt annimmt. Dies wird insbesondere bei der Klassifikation der Kegelschnitte<br />

(4.5.3, p.75) für uns wichtig sein.


28 KAPITEL 3. LINEARE ALGEBRA<br />

3.4 Determinante und Spur<br />

An dieser Stelle wollen wir zunächst folgende Frage behandeln: Wie lässt sich die inverse<br />

Matrix T −1 direkt aus T berechnen? Zur Beantwortung derselben führen wir nun den<br />

Begriff der Determinante ein. Danach überlegen wir, wie sich Determinante und Spur<br />

einer Matrix bei Basiswechsel verhalten.<br />

Definition 3.19 Sei K ein Körper und A = (a 1 , . . .,a n ) eine n×n Matrix mit den Spalten<br />

a i ∈ K n , 1 ≤ i ≤ n. Eine Determinante ist eine Funktion D : K n × . . . × K n → K mit<br />

folgenden Eigenschaften:<br />

(i) D(a 1 , . . .,a i + a j , . . .,a n ) = D(a 1 , . . .,a n ) ∀i ≠ j ∈ {1, . . ., n}<br />

(ii) D(a 1 , . . .,λa i , . . .,a n ) = λD(a 1 , . . .,a n ) ∀i ∈ {1, . . ., n}, ∀λ ∈ K<br />

(iii) D(e 1 , . . .,e n ) = 1 e i = (0, . . .,0, 1, 0, . . ., 0).<br />

Wir schreiben det A oder |A|.<br />

Die Determinante einer 2 × 2 Matrix gibt den vorzeichenbehafteten Flächeninhalt des<br />

durch die Zeilen- bzw. Spaltenvektoren aufgespannten Parallelogramms an (siehe Abbildung<br />

3.9). Bei 3×3 Matrizen erhält man das Volumen eines Parallelepipeds. Für det A ≠ 0<br />

ist damit intuitiv klar, dass die Spalten- bzw. Zeilenvektoren der Matrix A linear unabhängig<br />

sind. Die folgende Bemerkung folgt aus den Eigenschaften der Definition 3.19<br />

einer Determinante.<br />

Bemerkung 3.4 Sei A eine n ×n Matrix mit den Spaltenvektoren a 1 , . . .,a n ∈ R n . Dann<br />

sind a 1 , . . .,a n genau dann linear unabhängig, wenn det A ≠ 0.<br />

Abbildung 3.9: Determinante einer 2 × 2 Matrix A = (a, b)<br />

Wie berechnet man nun konkret die Determinante einer Matrix?<br />

Definition 3.20 Sei A eine n × n Matrix. Dann heißt M ij der Minor von Element a ij ,<br />

und M ij entsteht durch Streichen der i-ten Zeile und j-ten Spalte von A.


3.4. DETERMINANTE UND SPUR 29<br />

Beispiel. Sei A =<br />

⎛<br />

⎜<br />

⎝<br />

1 0 5<br />

1 2 0<br />

1 1 1<br />

⎞<br />

⎟<br />

⎠. Dann sind M 11 =<br />

(<br />

2 0<br />

1 1<br />

)<br />

und M 23 =<br />

(<br />

1 0<br />

1 1<br />

Satz 3.3 (Entwicklungssatz für Determinanten) Sei A eine n × n Matrix, dann berechnet<br />

sich die Determinante von A wie folgt:<br />

n = 1 : det(a) = a, A = (a)<br />

n > 1 : det A = ∑ n<br />

j=1 (−1)1+j a 1j det M 1j .<br />

Die hier angegebene Berechnungsmethode nennt man Entwicklung nach der 1. Zeile.<br />

Man kann jedoch auch nach einer beliebigen anderen Zeile oder Spalte entwickeln und<br />

erhält dasselbe Ergebnis.<br />

( )<br />

a 11 a 12<br />

Folgerung 3.1 Sei A eine 2 × 2 Matrix mit A = . Dann ist nach Satz 3.3<br />

a 21 a 22<br />

det(A) = a 11 det M 11 − a 12 det M 12 = a 11 a 22 − a 12 a 21 .<br />

Mit Hilfe der Determinante einer Matrix A kann man entscheiden, ob A invertierbar<br />

ist. Falls dies der Fall ist, kann A −1 wie folgt berechnet werden.<br />

Satz 3.4 Eine n × n Matrix ist invertierbar genau dann, wenn det A ≠ 0.<br />

A −1 = 1<br />

det A · Ã<br />

wobei à = (ã ij ) mit ã ij = (−1) i+j det M ji .<br />

( )<br />

1 −1<br />

Beispiel. Wir betrachten nun nochmals die Matrix T = aus unserem Beispiel<br />

zum Basiswechsel und berechnen jetzt direkt T −1 . Es sind det T = 2, det M 11 = 1,<br />

1 1<br />

det M 12 = −1, det M 21 = 1 und det M 22 = 1. Damit ist<br />

T −1 = 1 2<br />

(<br />

1 1<br />

−1 1<br />

)<br />

=<br />

(<br />

1<br />

2<br />

− 1 2<br />

Folgerung 3.2 Die Inverse einer invertierbaren 2 × 2 Matrix A =<br />

Satz 3.4 gegeben durch<br />

A −1 =<br />

(<br />

1<br />

a 11 a 22 − a 12 a 21<br />

1<br />

2<br />

1<br />

2<br />

)<br />

)<br />

a 22 −a 12<br />

.<br />

−a 21 a 11<br />

(<br />

)<br />

)<br />

a 11 a 12<br />

ist nach<br />

a 21 a 22<br />

Neben der Determinante ist auch die Spur eine wichtige Größe einer Matrix. Wir wollen<br />

nun diesen zweiten Begriff einführen und uns ansehen, wie sich beide Größen bei Basiswechsel<br />

verhalten.<br />

.


30 KAPITEL 3. LINEARE ALGEBRA<br />

Definition 3.21 Sei A = (a ij ) eine n × n Matrix. Die Spur von A ist dann definiert als<br />

die Summe der Elemente der Hauptdiagonale von A.<br />

spur(A) :=<br />

n∑<br />

i=1<br />

a ii<br />

Bemerkung 3.5 Seien A und B zwei n×n Matrizen. Dann gelten folgende Rechenregeln:<br />

det(AB) = det A · det B,<br />

spur(AB) = spur(BA).<br />

Beispiel. Es gilt im Allgemeinen übrigens nicht spur(AB) = spurA · spurB. Ein Gegenbeispiel<br />

wäre etwa<br />

( ) ( )<br />

1 0<br />

0 0<br />

A = , B = ,<br />

0 0<br />

0 1<br />

da hier spur(AB) = 0 und spurA · spurB = 1 sind.<br />

Satz 3.5 Determinante und Spur sind invariant gegenüber Basiswechsel, wenn in Definitionsraum<br />

und Zielraum dieselbe Basis gewählt wird.<br />

Beweis. Wir haben folgende Situation eines Basiswechsels (3.3, p.26):<br />

A<br />

C −→<br />

T ↑<br />

D −→<br />

B<br />

C<br />

↓ T −1<br />

D<br />

A und B sind dabei zwei n × n Matrizen, die demselben Endomorphismus entsprechen,<br />

also ähnlich sind. A ist relativ zur Basis C, B relativ zur Basis D angegeben, d.h. die<br />

Basen von Definitions- und Zielraum sind jeweils gleich. T rechnet Koordinaten von der<br />

Basis D in solche zur Basis C um, T −1 ist für die umgekehrte Richtung zuständig. Es gilt<br />

B = T −1 AT.<br />

Unter Verwendung der Rechenregeln aus Bemerkung 3.5 für Determinante und Spur<br />

weisen wir die Behauptungen nach.<br />

det B = det(T −1 AT)<br />

= det T −1 · det A · det T<br />

= det T −1 · det T · det A<br />

= det(T −1 T) · det A<br />

= det(E) det A<br />

= det A.


3.5. LINEARE GLEICHUNGSSYSTEME 31<br />

spurB = spur(T −1 AT)<br />

= spur(T −1 (AT))<br />

= spur((AT)T −1 )<br />

= spur(A(TT −1 ))<br />

= spur(AE)<br />

= spurA.<br />

✷<br />

3.5 Lineare Gleichungssysteme<br />

Die Nützlichkeit von Matrizen hat sich schon bei den linearen Abbildungen gezeigt. Auch<br />

lineare Gleichungssysteme lassen sich mit Hilfe von Matrizen sehr gut beschreiben. Das<br />

Gleichungssystem<br />

3x + 2y = 4<br />

−5x + y = −11<br />

kann man mittels<br />

( ) (<br />

A =<br />

3 2<br />

−5 1<br />

, X =<br />

x<br />

y<br />

)<br />

, b =<br />

(<br />

4<br />

−11<br />

in der Form A · X = b anschreiben. Wenn A eine m × n Matrix ist, so hat das Gleichungssystem<br />

m Gleichungen und n Variablen. Man kann nun durch Untersuchung der Matrix A<br />

und des Vektors b alle Lösungen für X finden.<br />

Definition 3.22 Ein lineares Gleichungssystem A · X = b heißt homogen, wenn b = O<br />

und inhomogen, falls b ≠ O.<br />

Zunächst wollen wir überlegen, wann es überhaupt Lösungen gibt. Dazu benötigen wir<br />

zwei Begriffe.<br />

Definition 3.23 Sei A eine m × n Matrix mit den Spaltenvektoren {a 1 , . . .,a n }. Unter<br />

dem Rang der Matrix A verstehen wir die Dimension des Spaltenraumes.<br />

rgA := dim[a 1 , . . .,a n ]<br />

Der Rang einer Matrix enstpricht damit ihrer maximalen Anzahl linear unabhängiger<br />

Spalten. Genauso kann man den Zeilenrang definieren als Dimension des Zeilenraumes.<br />

Bemerkenswerterweise gilt stets Zeilenrang = Spaltenrang.<br />

Bemerkung 3.6 Sei A eine m × n Matrix. Dann gilt: rgA = dim(im A).<br />

)


32 KAPITEL 3. LINEARE ALGEBRA<br />

Beweis. Nach Definition 3.18, p.25 ist<br />

im A = {A · X ∈ R m : X ∈ R n }<br />

= {x 1 a 1 + . . . + x n a n ∈ R m : (x 1 , . . .,x n ) ∈ R n }<br />

= [a 1 , . . ., a n ].<br />

Daher gilt dim(imA) = dim([a 1 , . . .,a n ]) = rgA.<br />

✷<br />

Definition 3.24 Seien A eine m × n Matrix mit den Spaltenvektoren {a 1 , . . .,a n } und<br />

b ∈ R m . Dann heißt die m×(n+1) Matrix (A, b) erweiterte Matrix von A und ist definiert<br />

durch (A, b) := (a 1 , . . .,a n , b).<br />

Damit können wir bereits angeben, wann ein lineares Gleichungssystem Lösungen besitzt.<br />

Satz 3.6 Ein lineares Gleichungssystem der Form A · X = b hat genau dann mindestens<br />

eine Lösung, wenn rgA = rg(A, b).<br />

Beweis. (⇒) Sei X 0 = (x 1 , . . .,x n ) eine Lösung von A·X = b. Das heißt x 1 a 1 +. . .+x n a n =<br />

b. Der Vektor b ist also Linearkombination der Spaltenvektoren von A: b ∈ [a 1 , . . .,a n ].<br />

Damit gilt [b, a 1 , . . .,a n ] = [a 1 , . . .,a n ] und schließlich rg(A, b) = rgA.<br />

(⇐) Sei umgekehrt rg(A, b) = rgA. Es ist zu zeigen, dass es ein X 0 gibt, so dass A·X 0 =<br />

b gilt. Angenommen b /∈ [a 1 , . . .,a n ]. Dann wäre dim[a 1 , . . .,a n , b] = dim[a 1 , . . .,a n ] + 1,<br />

also rg(A, b) = rgA + 1 > rgA. Dies steht im Widerspruch zu unserer Voraussetzung.<br />

Es ist damit b ∈ [a 1 , . . ., a n ] eine Linearkombination der Spaltenvektoren: b = λ 1 a 1 +<br />

. . . + λ n a n . Wir setzen X 0 := (λ 1 , . . .,λ n ) und haben damit eine Lösung gefunden. ✷<br />

Eine spezielle Lösung X 0 von A · X = b nennen wir partikuläre Lösung. Wie man<br />

ausgehend von einer partikulären Lösung alle möglichen Lösungen findet, beschreibt der<br />

nächste Satz.<br />

Satz 3.7 Sei A · X = b ein lineares Gleichungssystem mit der partikulären Lösung X 0 .<br />

Dann sind alle Lösungen L gegeben durch<br />

L = {X 0 + ¯X : ¯X ∈ ker A}<br />

Beweis. Wir zeigen zuerst, dass X 0 + ¯X eine Lösung ist. ¯X ∈ ker A heißt, dass A · ¯X = O<br />

gilt. ¯X ist damit eine Lösung des zugehörigen homogenen Systems. Außerdem ist A·X 0 = b.<br />

Durch Addieren dieser beiden Ausdrücke sehen wir, dass X 0 + ¯X wirklich eine Lösung ist.<br />

}<br />

A · X 0 = b<br />

A · ¯X +<br />

= O<br />

A · X 0 + A · ¯X = b + O<br />

A · (X 0 + ¯X) = b


3.5. LINEARE GLEICHUNGSSYSTEME 33<br />

Wir haben noch zu zeigen, dass jede Lösung diese Gestalt hat. Sei also Y = (y 1 , . . .,y n )<br />

irgendeine Lösung des Gleichungssystems, also A · Y = b. Außerdem kennen wir die partikuläre<br />

Lösung X 0 . Subtrahieren wir jetzt folgende beiden Ausdrücke.<br />

A · Y<br />

A · X 0<br />

= b<br />

= b<br />

A · Y − A · X 0<br />

A · (Y − X 0 )<br />

}<br />

−<br />

= b − b<br />

= O<br />

¯X := Y − X 0 ist eine Lösung des homogenen Systems und Element von ker A. Damit<br />

hat jede Lösung Y die Gestalt Y = X 0 + ¯X mit ¯X ∈ ker A.<br />

✷<br />

Wir bekommen damit alle Lösungen eines Gleichungssystems, indem wir zu einer partikulären<br />

Lösung des inhomogenen Systems alle Lösungen des homogenen Systems addieren.<br />

Die Struktur der Lösungsmenge stellt einen affinen Teilraum dar (vgl. Affine Räume 4.1,<br />

p.45). Der Kern von A bildet stets einen Untervektorraum des R n , wodurch folgende Definition<br />

nahegelegt wird.<br />

Definition 3.25 Unter der Dimension der Lösungsmenge L eines linearen Gleichungssystems<br />

A · X = b verstehen wir dim L := dim(ker A).<br />

Bemerkung 3.7 Sei A eine m × n Matrix. Dann gilt für die Lösungsmenge L des homogenen<br />

linearen Gleichungssystems A · X = O: dim L = n − rgA.<br />

Beweis. Nach dem Dimensionsatz für lineare Abbildungen (Satz 3.1, p.26) gilt n =<br />

dim(im A) + dim(ker A). Nach Bemerkung 3.6 gilt rgA = dim(im A), und nach Definition<br />

3.25 ist dimL = dim(ker A).<br />

✷<br />

Wir wissen nun zwar, wann es Lösungen gibt und wie deren Struktur aussieht, über eine<br />

konkrete Art der Berechnung haben wir allerdings noch nichts gesagt. Eine Möglichkeit<br />

ist, die erweiterte Matrix so lange umzuformen, bis die Lösungen ablesbar sind. Bei diesen<br />

Umformungen darf sich die Lösungsmenge des Systems natürlich nicht verändern. Die<br />

folgenden vier elementaren Umformungen erfüllen diese Bedingung. Außerdem lassen sie<br />

den Rang von A bzw. (A, b) unverändert.<br />

1. Vertauschen zweier Zeilen (Gleichungen) von (A, b)<br />

2. Multiplikation einer Zeile (Gleichung) mit einer Zahl λ ≠ 0 ∈ R<br />

3. Addieren einer Zeile (Gleichung) zu einer anderen Zeile (Gleichung) von (A, b)<br />

4. Vertauschen zweier Spalten (Variablen)


34 KAPITEL 3. LINEARE ALGEBRA<br />

Satz 3.8 Durch diese elementaren Umformungen kann man die m ×(n+1) Matrix (A, b)<br />

auf folgende Gestalt bringen, wobei r = rgA ist.<br />

⎛<br />

⎞<br />

1 0 . . . 0 c 1(r+1) . . . c 1n d 1<br />

0 1 . c 2(r+1) . . . c 2n d 2<br />

. . .. 0 . . .<br />

0 . . . 0 1 c r(r+1) . . . c rn d r<br />

0 . . . 0 0 0 . . . 0 d r+1<br />

0 ........................... 0<br />

⎜<br />

⎟<br />

⎝ .<br />

. ⎠<br />

0 ........................... 0<br />

Die wiederholte Anwendung elementarer Matrixumformungen zur Erreichung der angeführten<br />

Matrix nennt man Gaußsches Eliminationsverfahren. Aus dieser Matrix kann<br />

man dann die Lösungen einfach ablesen. Die Lösungsmenge L = {X 0 + ¯X : ¯X ∈ ker A}<br />

mit dim L = n − r ist gegeben durch:<br />

⎡⎛<br />

⎞ ⎛ ⎞ ⎛ ⎞⎤<br />

⎛ ⎞<br />

−c 1(r+1) −c 1(r+2) −c 1n<br />

d 1<br />

⎜ ⎟ ⎢⎜<br />

. ⎟ ⎜ . ⎟ ⎜ . ⎟⎥<br />

X 0 =<br />

⎜<br />

⎝<br />

.<br />

d r<br />

0<br />

.<br />

0<br />

⎟<br />

⎠<br />

ker A =<br />

⎢⎜<br />

⎣⎝<br />

−c r(r+1)<br />

1<br />

0<br />

.<br />

0<br />

,<br />

⎟ ⎜<br />

⎠ ⎝<br />

−c r(r+2)<br />

0<br />

1<br />

.<br />

0<br />

, . . .,<br />

⎟ ⎜<br />

⎠ ⎝<br />

−c rn<br />

0<br />

Beispiel. Wir lösen nun unser eingangs genanntes Beispiel durch Umformen der Matrix<br />

(A, b). Dabei bezeichnen wir die Gleichungen bzw. Zeilen mit I, II.<br />

( ) ( ) ( )<br />

3 2 4<br />

→ 1 3 I 1 2 4<br />

2 4<br />

3 3<br />

→ II+5I 1<br />

3 3<br />

−5 1 −11<br />

−5 1 −11<br />

0 13 − 13 3 3<br />

( ) ( )<br />

→ 3 13 II 1 2 4<br />

3 3<br />

→ I−2 3 II 1 0 2<br />

0 1 −1<br />

0 1 −1<br />

Wegen rgA = 2 ist ker A = {O} und es gibt nur die hier ablesbare Lösung X 0 = (2, −1).<br />

Eine weitere Möglichkeit zur Berechnung der Lösungen ergibt sich für rgA = n. Hier<br />

ist nämlich dim L = n − rgA = n − n = 0 und das Gleichungssystem eindeutig lösbar.<br />

Für diesen wichtigen Spezialfall lässt sich die eindeutig bestimmte partikuläre Lösung mit<br />

Hilfe von Determinanten berechnen.<br />

Satz 3.9 (Cramersche Regel) Sei A eine n × n Matrix. Das lineare Gleichungssystem<br />

A · X = b ist genau dann eindeutig lösbar, wenn det A ≠ 0. Die Lösung X 0 = (x 1 , . . .,x n )<br />

ist dann gegeben durch<br />

x i = det(a 1, . . .,a i−1 , b, a i+1 , . . .,a n )<br />

, 1 ≤ i ≤ n<br />

det A<br />

.<br />

0<br />

1<br />

⎟⎥<br />

⎠⎦


3.6. ORTHOGONALE ENDOMORPHISMEN 35<br />

Beweis. Nach Bemerkung 3.4, p.28 sind a 1 , . . .,a n genau dann linear unabhängig, wenn<br />

det A ≠ 0. Es ist daher rgA = dim[a 1 , . . .,a n ] = n genau dann, wenn det A ≠ 0. Die linear<br />

unabhängigen Vektoren a 1 , . . .,a n bilden eine Basis des R n . Der Vektor b ∈ R n ist daher<br />

als Linearkombination von a 1 , . . .,a n darstellbar, und es gilt n = rgA = rg(A, b). Nach<br />

Satz 3.6 hat unser Gleichungssystem damit mindestens eine Lösung. Dass diese Lösung<br />

eindeutig ist, zeigt uns die Bemerkung 3.7 mit dimL = n − rgA = n − n = 0.<br />

Wie sieht nun diese eindeutige Lösung X 0 = (x 1 , . . .,x n ) von A · X = b aus? Es<br />

gilt b = x 1 a 1 + . . . + x n a n = ∑ n<br />

j=1 x ja j . Betrachten wir nun folgende Determinante und<br />

verwenden dabei die Eigenschaften zum Rechnen mit Determinanten aus Definition 3.19,<br />

p.28 sowie die bereits erwähnte Bemerkung 3.4, p.28.<br />

det(a 1 , . . .a i−1 , b, a i+1 , . . .,a n ) =<br />

det(a 1 , . . .a i−1 , ∑ n<br />

j=1 x ja j , . . ., a n ) =<br />

∑ n<br />

j=1 x j · det(a 1 , . . .a i−1 , a j , a i+1 , . . .,a n ) =<br />

x i · det(a 1 , . . .a i−1 , a i , a i+1 , . . .,a n ) =<br />

x i · det A<br />

Nach Division durch det A erhalten wir die gewünschte Lösung.<br />

Beispiel. Betrachten wir nochmals unser Beispiel mit Hilfe der Cramerschen Regel. Hierbei<br />

ist A eine 2 × 2 Matrix:<br />

( ) ( )<br />

3 2<br />

4<br />

A = , b = .<br />

−5 1<br />

−11<br />

Wegen det A = 13 ist dieses Gleichungssystem nach Satz 3.9, p.34 eindeutig lösbar. Die<br />

Lösung X 0 = (x 1 , x 2 ) ist gegeben als<br />

4 2<br />

∣ −11 1 ∣<br />

x 1 = = 26<br />

det A 13 = 2<br />

3 4<br />

∣ −5 −11 ∣<br />

x 2 =<br />

= −13<br />

det A 13 = −1<br />

Die eindeutig bestimmte Lösung dieses Gleichungssystems lautet damit X 0 = (2, −1).<br />

✷<br />

3.6 Orthogonale Endomorphismen<br />

Wir wollen uns nun einen speziellen Typ von linearen Abbildungen ansehen, der Längen<br />

und Winkel von Vektoren unverändert lässt. Dadurch bleibt die Gestalt einer Figur bei<br />

Anwendung der Abbildung erhalten. Anschaulich handelt es sich hierbei, wie wir später<br />

sehen werden, um Drehungen und Spiegelungen (vgl. Bewegungen 4.4, p.58).


36 KAPITEL 3. LINEARE ALGEBRA<br />

Definition 3.26 Sei V ein euklidischer Vektorraum. Ein Endomorphisus L : V → V<br />

heißt orthogonal oder isometrisch genau dann, wenn er das innere Produkt unverändert<br />

lässt, also ∀u, v ∈ V : 〈u, v〉 = 〈Lu, Lv〉.<br />

Was passiert nun mit Längen und Winkeln bei Anwendung eines orthogonalen Endomorphismus?<br />

Satz 3.10 Ein Endomorphismus L ist genau dann orthogonal, wenn er Längen invariant<br />

lässt.<br />

Beweis. (⇒) Sei L : V → V ein orthogonaler Endomorphismus des euklidischen Vektorraums<br />

V und u, v ∈ V . Es gilt ‖ u‖ 2 = 〈u, u〉 = 〈Lu, Lu〉 = ‖ Lu‖ 2 und damit ‖ u‖ = ‖ Lu‖.<br />

(⇐) Sei umgekehrt ∀u ∈ V : ‖ u‖ = ‖ Lu‖ und L ein Endomorphismus. Dann gilt<br />

insbesondere für alle v, w ∈ V : ‖ v + w‖ = ‖ L(v + w)‖. Betrachten wir nun diese beiden<br />

Ausdrücke:<br />

• ‖ v + w‖ 2 = ‖ v‖ 2 + 2〈v, w〉 + ‖ w‖ 2<br />

• Wegen L linear gilt L(v + w) = L(v) + L(w) und somit<br />

‖ L(v + w)‖ 2 = ‖ Lv + Lw‖ 2 = ‖ Lv‖ 2 + 2〈Lv, Lw〉 + ‖ Lw‖ 2 .<br />

Nach Gleichsetzen der beiden rechten Seiten ergibt sich sofort 〈v, w〉 = 〈Lv, Lw〉. L ist<br />

nach Definition 3.26 orthogonal.<br />

✷<br />

Folgerung 3.3 Ein orthogonaler Endomorphismus lässt Winkel invariant.<br />

Beweis. Sei L ein orthogonaler Endomorphismus. Nach Definition 3.26, p.36 gilt für alle<br />

u, v ∈ V : 〈u, v〉 = 〈Lu, Lv〉. Aufgrund von Satz 3.10 gilt zudem für alle u ∈ V : ‖ u‖ =<br />

‖ Lu‖. Seien nun ϕ := ∡(u, v) und β := ∡(Lu, Lv) mit 0 ≤ ϕ, β ≤ π, dann gilt cos ϕ =<br />

〈u, v〉<br />

‖ u‖‖ v‖<br />

=<br />

〈Lu, Lv〉<br />

‖ Lu‖‖ Lv‖<br />

= cosβ und damit ϕ = β.<br />

✷<br />

Wie gesagt lassen sich lineare Abbildungen und insbesondere Endomorphismen durch<br />

Matrizen darstellen. Wie sehen nun die Matrizen eines orthogonalen Endomorphismus im<br />

R 2 aus?<br />

Satz 3.11 (Äquivalenzsatz für orthogonale Matrizen) Für eine reelle 2 × 2 Matrix<br />

T sind folgende Aussagen äquivalent:<br />

(i) T ist orthogonal.<br />

(ii) ‖ u‖ = ‖ Tu‖.<br />

(iii) T = (a, b) mit a, b ∈ R 2 und ‖ a‖ = ‖ b‖ = 1, a⊥b.<br />

(iv) T ist invertierbar und es gilt T −1 = T t .<br />

(v) T t ist orthogonal.


3.6. ORTHOGONALE ENDOMORPHISMEN 37<br />

Beweis. Die Äquivalenz (i) ⇔ (ii) entspricht Satz 3.10, p.36. Nehmen wir nun eine beliebige<br />

2 × 2 Matrix T = (a, b) mit den Spaltenvektoren a, b ∈ R 2 .<br />

(i) ⇒ (iii): T ist orthogonal heißt ∀u, v ∈ R 2 : 〈u, v〉 = 〈Tu, Tv〉. Insbesondere gilt für<br />

u = (1, 0) und v = (0, 1) mit T=(a,b):<br />

〈Tu, Tu〉 = 〈u, u〉 ⇒ ‖ a‖ 2 = 1<br />

〈Tu, Tv〉 = 〈u, v〉 ⇒ 〈a, b〉 = 0<br />

〈Tv, Tv〉 = 〈v, v〉 ⇒ ‖ b‖ 2 = 1<br />

Damit haben wir ‖ a‖ = ‖ b‖ = 1 und a⊥b.<br />

(iii) ⇒ (iv): Zu zeigen: T ist invertierbar mit T −1 = T t , also T t T = TT t = E. Wir<br />

betrachten zunächst T t T und verwenden aus (iii) ‖ a‖ = ‖ b‖ = 1, 〈a, b〉 = 0.<br />

T t T =<br />

(<br />

)<br />

a t<br />

(a, b) =<br />

b t<br />

(<br />

a t a a t b<br />

b t a b t b<br />

)<br />

=<br />

(<br />

)<br />

‖ a‖ 2 〈a, b〉<br />

=<br />

〈a, b〉 ‖ b‖ 2<br />

(<br />

1 0<br />

0 1<br />

)<br />

= E.<br />

Wegen (iii) gilt offensichtlich T t T = E. Es folgt 1 = det(E) = det(T t T) = det(T t ) det(T) =<br />

det(T) 2 und damit det(T) = ±1. Wegen det(T) ≠ 0 ist T invertierbar. Es bleibt noch zu<br />

zeigen, dass auch TT t = E ist. Dazu betrachten wir nochmals T t T = E.<br />

T t T = E<br />

T t = T −1 T.<br />

TT t = E<br />

.T −1<br />

Es gilt also T t T = TT t = E und damit T −1 = T t .<br />

(iv) ⇒ (ii): Sei E = T t T = TT t . Zu zeigen: ‖ u‖ = ‖ Tu‖. Einerseits ist ‖ u‖ 2 = 〈u, u〉 =<br />

u t u. Andererseits ist auch ‖ Tu‖ = 〈Tu, Tu〉 = (Tu) t Tu = u t T t Tu = u t u.<br />

Wegen (i) ⇔ (ii) und dem bisher gezeigten (i) ⇒ (iii) ⇒ (iv) ⇒ (ii) sind die ersten vier<br />

Äquivalenzen erledigt. Es fehlt also nur mehr (v).<br />

(iv) ⇔ (v): Zu zeigen: T t ist invertierbar und (T t ) −1 = (T t ) t . Dazu verwenden wir<br />

(T t ) t = T, um in (iv) einzusetzen: E = T t T = TT t = T t (T t ) t = (T t ) t T t . ✷<br />

Mit der Äquivalenz (iii) wird auch die Bezeichnung orthogonal klar: die Spaltenvektoren<br />

einer orthogonalen Matrix stehen normal zueinander. Sie bilden sogar eine ONB.<br />

Dieser äußerst nützlichen Eigenschaft werden wir später noch des öfteren begegnen (vgl.<br />

Spektralsatz 3.8, p.42; Bewegungen 4.4, p.58).<br />

Die Vektoren der Länge 1 des R 2 haben alle die Gestalt (cosϕ, sin ϕ). Normal dazu<br />

stehen die beiden Vektoren (− sin ϕ, cosϕ) und (sin ϕ, − cosϕ). Damit gibt es zwei mögliche<br />

Formen für orthogonale Matrizen des R 2 mit 0 ≤ ϕ ≤ 2π:<br />

T(ϕ) =<br />

(<br />

cosϕ − sin ϕ<br />

sin ϕ cos ϕ<br />

) (<br />

)<br />

cos ϕ sin ϕ<br />

, S(ϕ) =<br />

.<br />

sin ϕ − cosϕ<br />

Aus dem Beweis zu Satz 3.11, p.36 wissen wir, dass die Determinante einer orthogonalen<br />

Matrix immer +1 oder -1 ist.


38 KAPITEL 3. LINEARE ALGEBRA<br />

Definition 3.27 Eine orthogonale Matrix T heißt eigentlich genau dann, wenn det T = 1<br />

bzw. uneigentlich, wenn det T = −1.<br />

T(ϕ) stellt alle eigentlichen orthogonalen Endomorphismen des R 2 dar, S(ϕ) alle uneigentlichen.<br />

Geometrisch bewirken T(ϕ) eine Drehung um den Winkel ϕ und S(ϕ) eine<br />

Spiegelung an der Geraden X = λ(cos ϕ , sin ϕ ), worauf wir bei den Bewegungen (4.4,<br />

2 2<br />

p.58) genauer eingehen werden. Die reellen orthogonalen 2 × 2 Matrizen bilden übrigens<br />

eine Gruppe.<br />

3.7 Diagonalisierung von Matrizen<br />

Die Matrix eines Endomorphismus L hängt stark von der Wahl der Basis ab (vgl. Basiswechsel<br />

3.3, p.26). Wir werden nun versuchen diese Matrix durch geeignete Wahl einer<br />

Basis auf möglichst einfache Form zu bringen. Darunter wollen wir verstehen, dass nur<br />

die Zahlen in der Hauptdiagonalen ungleich 0 sein sollen. Eine solche Matrix nennt man<br />

Diagonalmatrix.<br />

Der Endomorphismus L ist gegeben als Matrix A relativ zur Basis C.<br />

⎛<br />

A =<br />

⎜<br />

⎝<br />

a 11<br />

.<br />

a n1<br />

⎞<br />

. . . a 1n<br />

⎟<br />

. ⎠<br />

. . . a nn<br />

Gesucht ist eine Basis E = {v 1 , . . .,v n }, so dass L eine Diagnolmatrix D relativ zu E<br />

hat.<br />

⎛<br />

⎞<br />

λ 1 0 . . . 0<br />

D =<br />

0 λ 2 .<br />

⎜ .<br />

⎝ . .. ⎟ 0 ⎠<br />

0 . . . 0 λ n<br />

Die Zahlen λ i heißen Eigenwerte, die Vektoren der Basis E nennt man Eigenvektoren.<br />

Die Spalten von D sind die Bilder der Basisvektoren von E relativ zu E dargestellt (vgl.<br />

Lineare Abbildungen 3.2, p.23). Das heißt<br />

L(v i ) = 0 · v 1 + . . . + λ i · v i + 0 · v i+1 + . . . + 0 · v n .<br />

Es gilt offenbar L(v i ) = λ i · v i . Mit der Matrix D lässt sich übrigens sehr einfach rechnen,<br />

denn<br />

⎛ ⎞ ⎛ ⎞<br />

x 1 λ 1 x 1<br />

⎜ ⎟ ⎜ ⎟<br />

D · ⎝ . ⎠ = ⎝ . ⎠ .<br />

x n λ n x n<br />

Wir wollen nun die genannten Begriffe einführen.


3.7. DIAGONALISIERUNG VON MATRIZEN 39<br />

Definition 3.28 Seien V ein euklidischer Vektorraum über dem Körper K und L : V → V<br />

ein Endomorphismus. Eine Zahl λ ∈ K heißt Eigenwert von L genau dann, wenn es ein<br />

v ≠ O ∈ V gibt, so dass<br />

L(v) = λ · v.<br />

v heißt Eigenvektor zum Eigenwert λ von L.<br />

Definition 3.29 Ein Endomorphismus L : V → V heißt diagonalisierbar genau dann,<br />

wenn es eine Basis E = {v 1 , . . .,v n } von V gibt, sodass die zu L gehörende Matrix relativ<br />

zu E Diagonalgestalt hat.<br />

Kurz: L ist diagonalisierbar genau dann, wenn es eine Basis aus Eigenvektoren von L<br />

gibt.<br />

Wie berechnet man nun Eigenwerte und Eigenvektoren? Wir überlegen zunächst, wie<br />

man zu einem gegebenen Eigenwert die passenden Eigenvektoren findet, und gehen dazu<br />

von Definition 3.28 aus:<br />

L(v) = λ · v<br />

L(v) − λ · v = O<br />

(L − λI)(v) = O,<br />

wobei I die identische Abbildung ist. Der Endomorphismus (L − λI) bildet also jeden<br />

Eigenvektor auf den Nullvektor ab. Die Eigenvektoren sind damit gerade die Elemente<br />

des ker(L − λI). Konkret erhalten wir die Eigenvektoren zu gegebenem Eigenwert λ als<br />

Lösungen des homogenen linearen Gleichungssystems (A−λE)·v = O. Diese Lösungsmenge<br />

nennt man Eigenraum.<br />

Definition 3.30 Sei L : V → V ein Endomorphismus mit Eigenwert λ. Dann heißt<br />

V λ = {v ∈ V : L(v) = λv}<br />

der zum Eigenwert λ gehörende Eigenraum V λ .<br />

Da V λ = ker(L − λI) ist und der Kern einer linearen Abbildung immer einen Untervektorraum<br />

bildet, ist die Bezeichnung Eigenraum auch gerechtfertigt. Wie berechnet man<br />

aber nun die Eigenwerte selbst? Dazu benötigen wir zunächst einen Hilfssatz.<br />

Hilfssatz 3.12 Sei L : V → V ein Endomorphismus. Dann ist λ Eigenwert von L genau<br />

dann, wenn (L − λI) : V → V kein Isomorphismus ist.<br />

Beweis. (⇒) Seien λ ein Eigenwert von L und v ≠ O ein zugehöriger Eigenvektor, dann<br />

gilt:<br />

L(v) = λ · v<br />

(L − λI)(v) = O<br />

v ∈<br />

ker(L − λI)


40 KAPITEL 3. LINEARE ALGEBRA<br />

Nach Satz 3.2 ist (L − λI) genau dann ein Isomorphismus, wenn ker(L − λI) = {O}<br />

und im (L − λI) = V sind. Da der Eigenvektor v ≠ O ein Element des Kern ist, kann<br />

(L − λI) kein Isomorphismus sein.<br />

(⇐) Sei umgekehrt (L−λI) kein Isomorphismus. Nach Satz 3.2 ist damit ker(L−λI) ≠<br />

O oder im (L − λI) ≠ V . Nach dem Dimensionssatz für lineare Abbildungen (Satz 3.1)<br />

gilt:<br />

n = dim V = dim(ker(L − λI)) + dim(im (L − λI))<br />

Wir zeigen nun, dass der Kern ungleich dem Nullvektor sein muss. Angenommen, es<br />

wäre ker(L − λI) = {O}, also dim(ker(L − λI)) = 0. Dann ist nach dem Dimensionssatz<br />

dim(im(L − λI)) = n. Damit ist aber im (L − λI) = V und (L − λI) nach Satz 3.2 ein<br />

Isomorphismus, was im Widerspruch zu unserer Voraussetzung steht.<br />

Der Kern ist also ungleich dem Nullvektor. Es gibt daher ein v ≠ O ∈ V , das auf den<br />

Nullvektor abgebildet wird:<br />

v ≠ O ∈ ker(L − λI)<br />

(L − λI)(v) = O<br />

L(v) = λ · v<br />

Nach Definition 3.28 sind λ ein Eigenwert von L und v ein zugehöriger Eigenvektor. ✷<br />

Wie kann man nun aber herausfinden, ob (L − λI) ein Isomorphismus ist? Diese Frage<br />

beantworten wir mit Hilfe von Determinanten. Jede zu einem Isomorphismus gehörende<br />

Matrix ist invertierbar. Nach Satz 3.4, p.29 ist eine Matrix genau dann invertierbar, wenn<br />

ihre Determinante ungleich null ist. Sei nun A eine zu L gehörende Matrix, dann gilt:<br />

(L − λI) ist kein Isomorphismus genau dann, wenn det(A − λE) = 0 ist. Dies führt uns<br />

zu folgender Definition, mit deren Hilfe wir dann tatsächlich die Eigenwerte einer Matrix<br />

berechnen können.<br />

Definition 3.31 Das charakteristische Polynom einer Matrix A ist definiert als<br />

∆(t) := det(A − t · E),<br />

wobei E die Einheitsmatrix ist.<br />

Nach Satz 3.5, p.30 ändert sich die Determinante nicht bei einem Basiswechsel. Diese<br />

Eigenschaft gilt damit auch für das charakteristische Polynom. Das charakteristische<br />

Polynom hängt also nur vom Endomorphismus, nicht von der gewählten Basis ab. Die<br />

Eigenwerte sind gerade die Nullstellen des charakteristischen Polynoms, wie der nächste<br />

Satz zeigt.<br />

Satz 3.13 Sei L : V → V ein Endomorphismus mit charakteristischem Polynom ∆(t). λ<br />

ist genau dann Eigenwert von L, wenn ∆(λ) = 0.


3.7. DIAGONALISIERUNG VON MATRIZEN 41<br />

Beweis. Seien C = {c 1 , . . .,c n } eine Basis von V und A = (a ij ) die zu L gehörende Matrix<br />

relativ zur Basis C. Nach Hilfssatz 3.12 ist λ Eigenwert von L genau dann, wenn (L − λI)<br />

kein Isomorphismus ist. Nach Satz 3.4, p.29 ist dies gleichbedeutend mit det(A −λE) = 0.<br />

Nach Definition 3.31 heißt dies ∆(λ) = 0. Da wir soeben nur genau dann, wenn“ Schlüsse<br />

”<br />

verwendet haben, sind damit beide Richtungen bewiesen.<br />

✷<br />

Beispiel. Betrachten wir nun ein Beispiel zur Diagonalisierung von Matrizen. Sei A die<br />

folgende Matrix relativ zur Standardbasis:<br />

( )<br />

−8 2<br />

A =<br />

2 −5<br />

Wir berechnen zunächst die Eigenwerte durch Nullsetzen des charakteristischen Polynoms<br />

∆(λ) = 0.<br />

(<br />

)∣ −8 − λ 2 ∣∣∣∣<br />

∆(λ) = det(A − λ · E) =<br />

∣ 2 −5 − λ<br />

0 = (−8 − λ)(−5 − λ) − 4<br />

0 = λ 2 − 13λ + 36<br />

Als Eigenwerte bekommen wir damit λ 1 = −4 und λ 2 = −9. Die Eigenvektoren von<br />

λ 1 = −4 sind die Lösungen des folgenden homogenen linearen Gleichungssystems:<br />

(<br />

) ( )<br />

−8 − λ 1 2<br />

−4 2<br />

(A − λ 1 E) · v =<br />

· v =<br />

· v = O<br />

2 −5 − λ 1 2 −1<br />

Wir wissen schon, dass die beiden Zeilen linear abhängig sind, da ja det(A − λ 1 E) =<br />

∆(λ 1 ) = 0 ist (vgl. Bemerkung 3.4, p.28). Nach der Cramerschen Regel (Satz 3.9, p.34)<br />

ist das System nicht eindeutig lösbar. Die eindimensionale Lösungsmenge umfasst alle<br />

Vielfachen von v 1 = (1, 2) und ergibt den Eigenraum V −4 = [(1, 2)]. Genauso bekommen<br />

wir zu λ 2 = −9 den zugehörigen Eigenraum V −9 = [(−2, 1)].<br />

Von der Matrix A kommen wir damit zu einer ähnlichen Diagonalmatrix D relativ zur<br />

Basis der Eigenvektoren {(1, 2), (−2, 1)}.<br />

D =<br />

(<br />

−4 0<br />

0 −9<br />

)<br />

Sind eigentlich alle quadratischen Matrizen diagonalisierbar? Nach Definition 3.29, p.39<br />

ist ein Endomorphismus genau dann diagonalisierbar, wenn es eine Basis aus Eigenvektoren<br />

gibt. Betrachten wir beispielsweise die Matrix<br />

A =<br />

(<br />

4 −1<br />

1 2<br />

)<br />

.<br />

Das charakteristische Polynom von A, ∆(t) = t 2 − 6t + 9, hat λ = 3 als doppelte Nullstelle.<br />

Der zugehörige Eigenraum ist V 3 = [{1, 1}] und stellt die Menge aller Eigenvektoren<br />

von A dar. Es ist hier nicht möglich, eine Basis des R 2 aus Eigenvektoren anzugeben, da<br />

es keine zwei linear unabhängigen Eigenvektoren gibt. A ist also nicht diagonalisierbar.


42 KAPITEL 3. LINEARE ALGEBRA<br />

Definition 3.32 Seien V ein endlichdimensionaler Vektorraum, L : V → V ein Endomorphismus<br />

und λ ein Eigenwert von L. Die geometrischen Vielfachheit von λ ist die<br />

Dimension des Eigenraums, also dim(V λ ). Die algebraische Vielfachheit von λ ist die<br />

Vielfachheit mit der λ als Nullstelle in ∆(t) von L auftritt.<br />

In unserem eben angeführten Beispiel sind die geometrische Vielfachheit = 1 und die<br />

algebraische Vielfachheit = 2. Die geometrische Vielfachheit ist stets kleiner oder gleich<br />

der algebraischen Vielfachheit. Mit Hilfe von geometrischer und algebraischer Vielfachheit<br />

können wir die Diagonalisierbarkeit eines Endomorphismus charakterisieren.<br />

Satz 3.14 Seien V ein endlichdimensionaler Vektorraum über dem Körper K, und L :<br />

V → V ein Endomorphismus. L ist genau dann diagonalisierbar, wenn<br />

1. ∆(t) ein Produkt von Linearfaktoren über K ist, das heißt<br />

∆(t) = (λ 1 − t) m 1 · · ·(λ k − t) m k , λ 1, . . .,λ k ∈ K.<br />

2. Die geometrische Vielfachheit gleich der algebraischen Vielfachheit für alle Eigenwerte<br />

von L ist.<br />

Um diesen Satz anwenden zu können, muss man zunächst die Eigenwerte und zugehörigen<br />

Eigenräume berechnen. Erst dann kennen wir algebraische und geometrische<br />

Vielfachheit und können die beiden Bedingungen überprüfen.<br />

Es wäre aber schön, wenn wir einer Matrix ansehen könnten, ob sie diagonalsierbar ist,<br />

ohne die Eigenwerte berechnen zu müssen. Für einen bestimmten Typ von Matrizen ist<br />

dies möglich, wie wir im nächsten Abschnitt sehen werden.<br />

3.8 Der Spektralsatz<br />

Wir betrachten hier spezielle Endomorphismen, deren Matrizen symmetrisch sind. Solche<br />

Endomorphismen sind diagonalisierbar und die Basis der Eigenvektoren bildet eine ONB,<br />

wie wir gleich sehen werden.<br />

Definition 3.33 Eine n × n Matrix A heißt symmetrisch, wenn A = A t gilt. Ein Endomorphismus<br />

L : V → V heißt selbstadjungiert, wenn seine Matrix relativ zu einer ONB<br />

symmetrisch ist.<br />

Bemerkung 3.8 Sei A die Matrix eines selbstadjungierten Endomorphismus. Dann gilt<br />

für alle Vektoren u, v:<br />

〈u, Av〉 = 〈Au, v〉


3.8. DER SPEKTRALSATZ 43<br />

Beweis. Es gilt A = A t . Mit Hilfe der Rechenregel (M · N) t = M t N t für Matrizen<br />

(Bemerkung 3.3, p.25) weisen wir die Behauptung nach.<br />

〈u, Av〉 = u t Av 〈x, y〉 = x t y, A t = A<br />

= u t A t v M t N t = (MN) t<br />

= (Au) t v x t y = 〈x, y〉<br />

= 〈Au, v〉<br />

✷<br />

Satz 3.15 (Spektralsatz) Sei L : V → V ein selbstadjungierter Endomorphismus. Dann<br />

ist L diagonalisierbar und die Eigenvektoren bilden eine Orthonormalbasis.<br />

Beweis. Wir beweisen hier den Spektralsatz für dim(V ) = 2, also 2 × 2 Matrizen. Sei<br />

L ein selbstadjungierter Endomorphismus. L besitzt nach Definition 3.33 eine zugehörige<br />

symmetrische Matrix A relativ zu einer ONB.<br />

A =<br />

(<br />

a b<br />

b c<br />

)<br />

Im Fall b = 0 hat A bereits Diagonalgestalt relativ zu seiner ONB, und wir sind fertig. Für<br />

b ≠ 0 berechnen wir nun die Eigenwerte mit Hilfe des charakteristischen Polynoms.<br />

(<br />

a − t b<br />

∆(t) = det(A − t · E) =<br />

∣ b c − t<br />

0 = (a − t)(c − t) − b 2<br />

= t 2 − (a + c)t + ac − b 2<br />

t 1/2 = a + c ± √ (a + c) 2 − 4(ac − b 2 )<br />

2<br />

= a + c ± √ a 2 − 2ac + c 2 + 4b 2<br />

2<br />

= a + c ± √ (a − c) 2 + 4b 2<br />

2<br />

)∣ ∣∣∣∣<br />

= 0<br />

λ 1 = t 1 und λ 2 = t 2 sind wegen b ≠ 0 zwei verschiedene reelle Eigenwerte. Betrachten<br />

wir nun die zugehörigen Eigenvektoren bzw. Eigenräume, indem wir das folgende homogene<br />

lineare Gleichungssystem für v ∈ R 2 lösen (i = 1, 2).<br />

(<br />

(A − λ i E) · v = O<br />

)<br />

a − λ i b<br />

· v = O<br />

b c − λ i<br />

v i :=<br />

(<br />

1<br />

√<br />

b2 + (λ i − a) 2<br />

b<br />

λ i − a<br />

)


44 KAPITEL 3. LINEARE ALGEBRA<br />

v 1 und v 2 sind die entsprechenden normierten Eigenvektoren. Es bleibt noch zu zeigen,<br />

dass die Eigenvektoren eine ONB bilden, also v 1 ⊥v 2 bzw. 〈v 1 , v 2 〉 = 0. Wir könnten dies<br />

durch einfaches Nachrechnen tun, wollen aber folgenden allgemeineren Ansatz wählen, der<br />

auch für n × n Matrizen funktioniert und zeigt, wie die Symmetrie der Matrix A hier<br />

entscheidend einfließt.<br />

Nach Definition 3.28 gilt A · v 1 = λ 1 · v 1 und A · v 2 = λ 2 · v 2 . Da A symmetrisch ist, gilt<br />

nach Bemerkung 3.8 〈v 1 , Av 2 〉 = 〈Av 1 , v 2 〉. Wir betrachten nun 〈v 1 , v 2 〉:<br />

λ 1 〈v 1 , v 2 〉 = 〈λ 1 v 1 , v 2 〉 λ 1 v 1 = Av 1<br />

= 〈Av 1 , v 2 〉 〈Av 1 , v 2 〉 = 〈v 1 , Av 2 〉<br />

= 〈v 1 , Av 2 〉 λ 2 v 2 = Av 2<br />

= 〈v 1 , λv 2 〉<br />

= λ 2 〈v 1 , v 2 〉<br />

Daraus folgt sofort (λ 1 − λ 2 )〈v 1 , v 2 〉 = 0. Da wir zwei verschiedene reelle Eigenwerte<br />

λ 1 ≠ λ 2 haben, muss 〈v 1 , v 2 〉 = 0 gelten. Die Eigenvektoren stehen also normal aufeinander<br />

und bilden eine Orthonormalbasis.<br />

✷<br />

Symmetrische Matrizen sind für uns sehr wichtig, weil sie bei Kegelschnitten eine Rolle<br />

spielen. Wir führen uns deshalb die Situation der Diagonalisierung einer symmetrischen<br />

Matrix nochmals klar vor Augen. Sei A eine symmetrische 2×2 Matrix relativ zur Standardbasis<br />

C = {(1, 0), (0, 1)}. Wir führen nun einen Basiswechsel zur ONB der Eigenvektoren<br />

durch. Dadurch erhalten wir eine Diagonalmatrix D relativ zur Basis E der Eigenvektoren.<br />

A<br />

C −→<br />

T ↑<br />

E −→<br />

D<br />

C<br />

↓ T −1<br />

E<br />

Es gilt also D = T −1 AT. T stellt die identische Abbildung relativ zu E, C dar und hat<br />

gerade die Eigenvektoren als Spaltenvektoren: T = (v 1 , v 2 ) (vgl. Lineare Abbildungen 3.2,<br />

p.23). Die Eigenvektoren bilden laut Spektralsatz eine ONB, es gilt also ‖ v 1 ‖ = ‖ v 2 ‖ = 1<br />

und v 1 ⊥v 2 . Nach dem Äquivalenzsatz für orthogonale Matrizen (Satz 3.11, p.36(iii)) ist T<br />

eine orthogonale Matrix. Damit ist T invertierbar und T −1 = T t .<br />

Fassen wir unsere Überlegungen in einer Folgerung aus dem Spektralsatz zusammen:<br />

Folgerung 3.4 Seien A eine symmetrischen Matrix relativ zur Standardbasis des R 2 und<br />

v 1 , v 2 ihre Eigenvektoren. Dann erhält man ihre ähnliche Diagonalmatrix D relativ zur<br />

Orthonormalbasis der Eigenvektoren durch<br />

D = T t · A · T,<br />

wobei T = (v 1 , v 2 ) ist.


Kapitel 4<br />

Affine und euklidische Geometrie<br />

In der Vektorraumtheorie der linearen Algebra betrachtet man Vektoren immer vom Nullpunkt<br />

aus abgetragen. Wir wollen nun den Ursprung frei wählen können und kommen mit<br />

diesem Wunsch sofort in die Geometrie der Lage, die sogenannte affine Geometrie. Nimmt<br />

man zur affinen Geometrie ein inneres Produkt hinzu, findet man sich in der euklidischen<br />

Geometrie wieder.<br />

Die affine Geometrie ist im Wesentlichen Vektorraumtheorie mit erweiterter Sprechweise.<br />

Anstelle von Vektorräumen (3.1) sprechen wir nun von affinen Räumen (4.1), lineare<br />

Abbildungen (3.2) werden zu affinen Abbildungen (4.2) und Basiswechsel mutieren zu Koordinatentransformationen<br />

(4.3). Besonderes Augenmerk wollen wir auf die Erweiterung<br />

der orthogonalen Endomorphismen, die Bewegungen (4.4), legen. Dazu gehören Verschiebungen,<br />

Drehungen und Spiegelungen.<br />

4.1 Affine Räume<br />

Definition 4.1 Seien A eine nichtleere Menge, die sogenannte Punktmenge, V ein Vektorraum<br />

über dem Körper K und f : A × A → V . Die Funktion f ordnet zwei Punkten P<br />

und Q ihren Verbindungsvektor aus V zu: −→ PQ := f(P, Q).<br />

(A, V, f) heißt genau dann affiner Raum, wenn folgende beiden Bedingungen erfüllt sind.<br />

Abtragungsaxiom<br />

Parallelogrammregel<br />

∀P ∈ A, ∀v ∈ V, ∃ 1 Q ∈ A : −→ PQ = v<br />

∀P, Q, R ∈ A : −→ PQ + −→ QR = −→ PR<br />

In einem affinen Raum gibt es also neben Vektoren auch Punkte. Das Abtragungsaxiom<br />

besagt, dass von jedem Punkt P aus in eindeutiger Weise ein Vektor v abgetragen werden<br />

kann und man so zu einem Punkt Q kommt (Abbildung 4.1). Der Vektor v ist dabei<br />

der Verbindungsvektor von P und Q: v = −→ PQ. Außerdem gilt die Parallelogrammregel<br />

(Abbildung 4.2).<br />

Man kann aus jedem Vektorraum sofort einen affinen Raum (V, V, f) konstruieren,<br />

indem man A = V und −→ PQ = f(P, Q) := Q − P setzt. Dadurch wird die affine Geometrie<br />

45


46 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Abbildung 4.1: Abtragungsaxiom<br />

Abbildung 4.2: Parallelogrammregel<br />

aufgefasst als Vektorraumtheorie mit erweiterter Sprechweise, was wir hier tun wollen. Die<br />

Elemente von V können nun als Vektoren oder Punkte interpretiert werden. In der affinen<br />

Sprechweise für einen Vektorraum werden die Elemente von V grundsätzlich als Punkte<br />

betrachtet. Ausnahmen sind die Verbindungsvektoren −→ PQ, insbesondere die Ortsvektoren<br />

−→<br />

OP und die Richtungsvektoren von Geraden oder Ebenen.<br />

Aus der Basis eines Vektorraums bekommen wir durch zusätzliche Angabe eines Ursprungs<br />

des Koordinatensystem eines affinen Raumes. Man hängt dabei eine Basis quasi<br />

an einen Punkt.<br />

Definition 4.2 Seien V ein Vektorraum mit Basis B = {b 1 , . . .,b n } und P ein Punkt aus<br />

V. Dann heißt C = {P; b 1 , . . .,b n } affines Koordinatensystem von V mit Ursprung P. Wenn<br />

B eine Orthonormalbasis ist, so nennen wir C ein orthonormales Koordinatensystem.<br />

Eine ähnliche Idee führt uns zum Begriff des affinen Unterraums. Dazu hängen wir<br />

einen Untervektorraum quasi an einen Punkt.<br />

Definition 4.3 Seien U ⊆ V ein Untervektorraum von V und P ein Punkt aus V . Dann<br />

heißt die Menge Γ = P + U affiner Unterraum von V. U nennen wir den Richtungsraum<br />

von Γ und dim Γ := dim U.


4.1. AFFINE RÄUME 47<br />

Abbildung 4.3: Koordinatensystem<br />

Definition 4.4 Sei Γ ein affiner Unterraum von V mit dim V = n. Dann gebrauchen wir<br />

folgende Namen für Γ:<br />

affine Gerade :⇔ dim Γ = 1<br />

affine Ebene :⇔ dim Γ = 2<br />

affine Hyperebene :⇔ dim Γ = n − 1<br />

Definition 4.5 Die Punkte P 1 , . . ., P n aus V heißen kollinear bzw. komplanar genau dann,<br />

wenn es eine Gerade bzw. Ebene gibt, die sie enthält. Punkte, die nicht kollinear sind,<br />

nennen wir in allgemeiner Lage.<br />

Wie man rechnerisch überprüft, ob drei Punkte kollinear sind, werden wir später in<br />

Bemerkung 6.2, p.122 sehen.<br />

Definition 4.6 Seien Γ = P+U ein affiner Unterraum von V und {u 1 , . . .,u m } eine Basis<br />

von U. Dann erhält man die Punkte X ∈ Γ in der Gestalt X = P +λ 1 u 1 +...+λ m u m mit<br />

λ i ∈ K, i ∈ {1, . . .,m} und nennt dies eine Parameterdarstellung von Gamma.<br />

Eine Gerade durch die Punkte P und Q ist ein eindeutig festegelegter eindimensionaler<br />

affiner Raum mit einer Parameterdarstellung der Gestalt X = P + λ −→ PQ.<br />

Kommen wir nun zu einem weiteren wichtigen Begriff, der Parallelität zweier affiner<br />

Räume.<br />

Definition 4.7 Zwei affine Räume Γ 1 , Γ 2 sind genau dann parallel, wenn U 1 ⊆ U 2 oder<br />

U 2 ⊆ U 1 .<br />

Zwei Geraden sind daher genau dann parallel, wenn ihre Richtungsvektoren linear<br />

abhängig sind. Überlegen wir nun, wann sich zwei Geraden des R 2 schneiden.<br />

Bemerkung 4.1 Zwei Geraden des R 2 haben genau dann einen eindeutigen Schnittpunkt,<br />

wenn sie nicht parallel sind.


48 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Beweis. Seien g : X = A + λ −→ AB und h : X = C + µ −→ CD zwei Geraden des R 2 . Der<br />

Durchschnitt g ∩ h liefert uns das folgende inhomogene Gleichungssystem:<br />

( −→ t<br />

AB<br />

A + λ −→ AB = C + µ −→ CD<br />

λ −→ AB − µ −→ CD = C − A<br />

) (<br />

− −−→ CD t ·<br />

λ<br />

µ<br />

)<br />

= −→ AC<br />

Dieses Gleichungssystem<br />

(<br />

ist nach der Cramerschen Regel (Satz 3.9, p.34) genau dann<br />

−→<br />

)<br />

t<br />

AB<br />

eindeutig lösbar, wenn det<br />

− −−→ CD t ≠ 0 ist. Nach Bemerkung 3.4, p.28 ist dies genau<br />

dann der Fall, wenn die Richtungsvektoren −→ AB und −−→ CD linear unabhängig sind. Nach<br />

Definition 4.7 sind schließlich zwei Geraden genau dann nicht parallel, wenn ihre Richtungsvektoren<br />

linear unabhängig sind.<br />

✷<br />

Wie man den Schnittpunkt zweier Geraden konkret berechnet, beantworten wir im<br />

Rahmen der projektiven Geometrie in Satz 5.3, p.109.<br />

4.1.1 Normalvektorform<br />

Eine mögliche Art der Darstellung affiner Teilräume ist die Parameterdarstellung. Eine<br />

weitere ist ein lineares Gleichungssystems.<br />

Bemerkung 4.2 Ein affiner Teilraum Γ lässt sich durch n − dim Γ lineare Gleichungen<br />

angeben.<br />

Beweis. Sei Γ = P + U ein affiner Teilraum. Γ kann als Lösungsmenge eines linearen<br />

Gleichungssystems A · X = b interpretiert werden. Nach Bemerkung 3.7, p.33 gilt dafür<br />

dim Γ = n − rgA. Der Rang der Matrix A stellt dabei die Anzahl der linear unabhängigen<br />

Zeilen, also Gleichungen, dar. Es gilt somit: (minimale) Anzahl der Gleichungen = rgA =<br />

n − dim Γ.<br />

✷<br />

Folgerung 4.1 Eine affine Hyperebene Γ lässt sich durch eine Gleichung der Form<br />

〈 −−→ PX, n〉 = 0<br />

mit P ∈ Γ und n ∈ V angeben.<br />

Beweis. Sei Γ = P + U mit U ⊂ V , dim U = n − 1 eine affine Hyperebene. Nach<br />

Bemerkung 4.2 lässt sich Γ durch n − dim Γ = n − (n − 1) = 1 Gleichung angeben.<br />

Diese Gleichung hat die Form a 1 x 1 + . . . + a n x n = b, wobei dies Koordinaten relativ<br />

zu einer ONB von V seien. Wir setzen nun n := (a 1 , . . .,a n ) ∈ V und können nach<br />

Bemerkung 3.1, p.21 für das innere Produkt in einem Vektorraum mit ONB die obige<br />

Gleichung als 〈X, n〉 = b schreiben. Der Vektor n ist sogar eindeutig bestimmt, denn


4.1. AFFINE RÄUME 49<br />

angenommen für n ′ ≠ n wäre auch 〈X, n ′ 〉 = b, dann wäre 〈X, n ′ − n〉 = 0 und somit<br />

n ′ = n.<br />

P liegt in Γ und erfüllt daher 〈P, n〉 = b. Durch Subtrahieren folgender beiden Ausdrücke<br />

erhalten wir die Behauptung.<br />

}<br />

〈X, n〉 = b<br />

−<br />

〈P, n〉 = b<br />

〈X, n〉 − 〈P, n〉 = 0<br />

〈X − P, n〉 = 0<br />

〈 −−→ PX, n〉 = 0<br />

✷<br />

Die Vektoren −−→ PX sind gerade die Vektoren des Richtungsraumes U. Der Vektor n steht<br />

also zu allen Vektoren aus U normal. Dies motiviert den folgenden Begriff.<br />

Definition 4.8 Seien Γ = P + U eine affine Hyperebene und n ∈ V , so dass für alle u ∈<br />

U : n⊥u. Der Vektor n heißt dann Normalvektor und 〈 −−→ PX, n〉 = 0 die Normalvektorform<br />

von Γ. Im Fall ‖ n‖ = 1 sprechen wir von der Hesseschen Normalvektorform.<br />

Abbildung 4.4: Normalvektorform 〈 −−→ PX, n〉 = 0 einer Geraden g<br />

Die Gleichung einer Geraden des R 2 oder einer Ebene des R 3 erhalten wir durch Einsetzen<br />

eines Punktes und des Normalvektors in die Normalvektorform. Wie bekommen<br />

wir aber den Normalvektor einer solchen Hyperebene? Diese Frage beantworten wir im<br />

nächsten Abschnitt mit Hilfe des Vektorprodukts. Dort findet sich auch je ein Beispiel<br />

einer Geraden- und Ebenengleichung.<br />

4.1.2 Vektorprodukt<br />

Eine Hyperebene Γ = P + U lässt sich also sehr einfach durch die Normalvektorform darstellen.<br />

Die Frage ist nun, wie man den Normalvektor zum Richtungsraum U findet. Dazu<br />

verwendet man das sogenannte Vektorprodukt, das besonders in der projektiven Geometrie<br />

(5) eine fundamentale Rolle spielen wird. Wir gehen von folgender Tatsache aus:


50 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Hilfssatz 4.1 Seien u 1 , . . .,u n−1 Vektoren eines euklidischen Vektorraumes V . Dann gibt<br />

es genau einen Vektor z ∈ V , sodass für alle X ∈ V<br />

det(u 1 , . . .,u n−1 , X) = 〈X, z〉.<br />

Beweis. Seien die Vektoren u 1 , . . .,u n−1 , X relativ zu einer ONB von V gegeben. Betrachten<br />

wir nun die Determinante und entwickeln sie nach ihrer letzten Spalte. Wir können sie<br />

dann so anschreiben: det(u 1 , . . ., u n−1 , X) = a 1 x 1 +. . .+a n x n , wobei die Koeffizienten dieser<br />

Linearform den Determinanten der Minoren entsprechen, also a i = det M in . Eine solche<br />

Linearform lässt sich, wie wir im Beweis der Folgerung 4.1 gezeigt haben, in eindeutiger<br />

Weise als inneres Produkt schreiben. Sei dazu z := (a 1 , . . .,a n ) = (det M 1n , . . .,det M nn ).<br />

Es gilt somit det(u 1 , . . .,u n−1 , X) = a 1 x 1 +. . .+a n x n = 〈X, z〉, wobei z eindeutig bestimmt<br />

ist.<br />

✷<br />

Damit können wir nun das Vektorprodukt allgemein definieren.<br />

Definition 4.9 Der nach Hilfssatz 4.1 eindeutig bestimmte Vektor z heißt Vektorprodukt,<br />

Kreuzprodukt oder äußeres Produkt von u 1 , . . .,u n . Wir verwenden die Bezeichung z =<br />

u 1 × . . . × u n−1 und es gilt<br />

〈X, u 1 × . . . × u n−1 〉 = det(u 1 , . . .,u n−1 , X).<br />

Seien u 1 , . . .,u n−1 die Richtungsvektoren einer Hyperebene von V . Dann liefert uns<br />

das Vektorprodukt den Normalvektor dieser Hyperebene, also einen Vektor, der zu allen<br />

Vektoren des Richtungsraumes U = [u 1 , . . .,u n−1 ] orthogonal ist.<br />

Satz 4.2 u 1 × . . . × u n−1 ist orthogonal zu jedem Vektor u i mit 1 ≤ i ≤ n − 1.<br />

Beweis. Sei z = u 1 × . . . × u n−1 , dann besagt die Definition 4.9 des Vektorprodukts<br />

〈X, z〉 = det(u 1 , . . .,u n−1 , X). Nach Bemerkung 3.4, p.28 ist eine Determinante genau<br />

dann 0, wenn die Spaltenvektoren linear abhängig sind. Daher gilt für 1 ≤ i ≤ n − 1:<br />

〈X, u i 〉 = det(u 1 , . . .,u n−1 , u i ) = 0.<br />

✷<br />

Folgerung 4.2 Seien Γ = P + U eine affine Hyperebene und u 1 , . . .,u n−1 eine Basis des<br />

Richtungsraumes U. Dann steht u 1 × . . . × u n−1 zu jedem Vektor von U normal.<br />

Beweis. Seien z = u 1 × . . . × u n−1 und u ein belieber Vektor von U = [u 1 , . . .,u n−1 ]. Das<br />

heißt u = λ 1 u 1 + . . . + λ n−1 u n−1 . Wir betrachten nun das innere Produkt von u und z und<br />

verwenden dabei 〈u i , z〉 = 0 (Satz 4.2).<br />

u = λ 1 u 1 + . . . + λ n−1 u n−1<br />

〈u, z〉 = 〈λ 1 u 1 + . . . + λ n−1 u n−1 , z〉<br />

= λ 1 〈u 1 , z〉 + . . . + λ n−1 〈u n−1 , z〉<br />

= 0


4.1. AFFINE RÄUME 51<br />

Das Vektorprodukt liefert uns den Normalvektor einer Hyperebene. Mittels Normalvektorform<br />

bekommen wir daraus ihre Gleichung. Was passiert aber, wenn die Vektoren<br />

u 1 , . . .,u n−1 nicht linear unabhängig sind?<br />

Satz 4.3 u 1 × . . . × u n−1 = O ⇔ u 1 , . . .,u n−1 linear abhängig<br />

Beweis. Sei z = u 1 × . . . × u n−1 .<br />

(⇒) Sei z = O. Angenommen u 1 , . . .,u n−1 sind linear unabhängig. Dann können wir<br />

diese Vektoren um u n zu einer Basis von V ergänzen, sodass [u 1 , . . ., u n ] = V ist. Nach<br />

Bemerkung 3.4, p.28 ist die Determinante linear unabhängiger Vektoren immer ungleich<br />

null. 0 ≠ det(u 1 , . . ., u n−1 , u n ) = 〈u n , z〉 und daher z ≠ O. Dies steht im Widerspruch zu<br />

unserer Voraussetzung, weshalb u 1 , . . .,u n−1 linear abhängig sein müssen.<br />

(⇐) Seien u 1 , . . .,u n−1 linear abhängig. Dann ist nach Bemerkung 3.4 für alle X ∈ V :<br />

0 = det(u 1 , . . .,u n−1 , X) = 〈X, z〉. Dies kann nur dann der Fall sein, wenn z = O. ✷<br />

Schauen wir uns jetzt an, wie man das Vektorprodukt im R 2 und R 3 berechnet.<br />

✷<br />

Vektorprodukt im R 2<br />

Seien a = (a x , a y ) und X = (x, y) zwei Vektoren des R 2 relativ zu einer ONB dargestellt. Im<br />

R 2 gibt es nur einen Faktor des Vektorproduktes n = (n x , n y ) = ×a. Mittels Definition 4.9<br />

und Koeffizientenvergleich erhalten wir n:<br />

a x x<br />

〈X, n〉 = 〈X, ×a〉 = det(a, X) =<br />

∣ a y y ∣<br />

n x x + n y y = a x y − a y x<br />

( )<br />

−a y<br />

n =<br />

a x<br />

Wir wissen bereits, dass dieses n einen Normalvektor von a darstellt und hatten n = a ⊥<br />

geschrieben.<br />

Vektorprodukt im R 3<br />

Seien a = (a x , a y , a z ), b = (b x , b y , b z ) und X = (x, y, z) drei Vektoren des R 3 relativ zu einer<br />

ONB dargestellt. Wir betrachten nun das Vektorprodukt n = (n x , n y , n z ) = a × b. Mittels<br />

Koeffizientenvergleich erhalten wir auch hier die Koordinaten von n. Wir entwickeln dazu<br />

die Determinante nach ihrer letzten Spalte.<br />

〈X, n〉 = 〈X, a × b〉 = det(a, b, X) =<br />

∣<br />

a x b x x<br />

a y b y y<br />

a z b z z<br />


52 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

n x x + n y y + n z z =<br />

n =<br />

∣ ∣ ∣ a y b ∣∣∣∣ y<br />

a x b ∣∣∣∣ x<br />

a x b ∣∣∣∣<br />

x<br />

x −<br />

y +<br />

z<br />

∣ a z b z ∣ a z b z ∣ a y b y<br />

⎛<br />

∣ ⎞<br />

a y b ∣∣∣∣<br />

y<br />

∣<br />

a z b z ∣ ⎛ ⎞<br />

a x b ∣∣∣∣<br />

a<br />

x<br />

y b z − a z b y<br />

−<br />

⎜ ⎟<br />

∣ a z b = ⎝ a z b x − a x b z ⎠<br />

z ∣ a x b y − a y b x<br />

⎜<br />

⎝<br />

a x b ∣∣∣∣ ⎟<br />

x<br />

⎠<br />

∣ b y<br />

a y<br />

n steht nach Satz 4.2 normal zu a und b. Wenn a und b linear abhängig sind, dann<br />

verschwindet das Vektorprodukt und n = O (Satz 4.3). Da das Vektorprodukt des R 3 in<br />

der projektiven Geometrie (5) eine wichtige Rolle spielen wird, sehen wir uns noch einige<br />

Rechenregeln dazu an.<br />

Satz 4.4 (Rechenregeln für das Vektorprodukt im R 3 ) Im R 3 gelten folgende Rechenregeln<br />

für alle a, b, c, d ∈ R 3 und λ ∈ R:<br />

(i) λ(a × b) = λa × b<br />

(ii) a × (b + c) = a × b + a × c Distributivgesetz<br />

(iii) a × b = −(b × a) Antisymmetrie<br />

(iv) 〈a, b × c〉 = det(a, b, c) Spatprodukt<br />

Beweis. Nach Definition 4.9, p.50 ist 〈X, a×b〉 = det(a, b, X) für alle X. Die Rechenregeln<br />

lassen sich somit auf Rechenregeln für Determinanten zurückführen.<br />

(i) det(λa, b, X) = λ det(a, b, X) für alle X.<br />

(ii) det(a, b + c, X) = det(a, b, X) + det(a, c, X) für alle X.<br />

(iii) det(a, b, X) = − det(b, a, X) für alle X.<br />

(iv) 〈a, b × c〉 = det(b, c, a) = − det(b, a, c) = det(a, b, c)<br />

Eine geometrische Bedeutung des Vektorproduktes im R 3 kennen wir bereits: a × b<br />

stellt einen Normalvektor von a und b dar (Satz 4.2). Bei der Behandlung von Determinanten<br />

hatten wir angemerkt, dass | det(a, b, c)| das Volumen des von diesen Vektoren<br />

aufgespannten Parallelepipeds darstellt. Dieses Volumen entspricht dem Absolutbetrag des<br />

Spatprodukts | 〈c, a × b〉| = | det(c, a, b)| = | det(a, b, c)|.<br />

Die Höhe dieses Parallelepipeds entspricht der Projektion von c auf den Normalvektor<br />

a×b<br />

a×b, also h = 〈c, 〉 und damit h·‖ a×b‖ = 〈c, a×b〉 = Volumen des Parallelepipeds.<br />

‖ a×b‖<br />

Das Volumen eines Körpers entspricht dem Produkt von Grundfläche und Höhe. Damit ist<br />

klar, dass die Länge des Normalvektors ‖ a × b‖ der Fläche des von a und b aufgespannten<br />

Parallelogramms entspricht.<br />


4.1. AFFINE RÄUME 53<br />

Abbildung 4.5: Spatprodukt | 〈c, a × b〉| als Volumen des Parallepipeds<br />

Abbildung 4.6: Vektorprodukt<br />

Beispiele zur Normalvektorform<br />

Wir verwenden nun das Vektorprodukt, um die Gleichung einer Geraden des R 2 und einer<br />

Ebene des R 3 anzugeben.<br />

Beispiel. Seien die Punkte P = (1, 3) und Q = (5, 2) gegeben. Gesucht sind Parameterdarstellung<br />

und Gleichung der Geraden g durch P und Q. Der Richtungsvektor der Geraden<br />

g ist −→ g = −→ PQ = Q − P = (4, −1). Damit bekommen wir folgende Parameterdarstellung:<br />

g : X =<br />

(<br />

1<br />

3<br />

)<br />

+ λ<br />

(<br />

4<br />

−1<br />

)<br />

.<br />

Wir wollen nun eine Gleichung für g finden. Dazu bestimmen wir einen Normalvektor<br />

und setzen ihn in die Normalvektorform 〈X, n〉 = 〈P, n〉 ein.<br />

( ) ( )<br />

n = ×g = −→ −g y 1<br />

g ⊥ = =<br />

g x 4<br />

〈<br />

(<br />

x<br />

y<br />

〈X, n〉 = 〈P, n〉<br />

) ( ) ( ) (<br />

1 1<br />

, 〉 = 〈 ,<br />

4 3<br />

g : x + 4y = 13<br />

1<br />

4<br />

)<br />


54 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Beispiel. Betrachten wir jetzt eine Ebene e im R 3 durch die Punkte P(4, 2, 2), Q(5, 4, 4)<br />

und R(11, 7, 1). Die Richtungsvektoren von e sind dann u 1 = −→ PQ = (1, 2, 2) und u 2 =<br />

−→<br />

PR = (7, 5, −1). Eine Parameterdarstellung dieser Ebene ist etwa<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

4 1 7<br />

⎜ ⎟ ⎜ ⎟ ⎜ ⎟<br />

e : X = ⎝ 2 ⎠ + λ 1 ⎝ 2 ⎠ + λ 2 ⎝ 5 ⎠ .<br />

2 2 −1<br />

Um die Gleichung dieser Ebene zu erhalten berechnen wir wieder zunächst den Normalvektor<br />

mit Hilfe des Vektorproduktes.<br />

1 7 x<br />

〈n, X〉 =<br />

2 5 y<br />

∣ 2 −1 z ∣<br />

⎛<br />

⎞<br />

2 5<br />

∣<br />

2 −1 ∣<br />

⎛ ⎞<br />

n =<br />

1 7<br />

−12<br />

−<br />

⎜ ⎟<br />

∣ 2 −1 ∣<br />

= ⎝ 15 ⎠<br />

−9<br />

⎜<br />

⎝<br />

1 7<br />

⎟<br />

⎠<br />

∣ 2 5 ∣<br />

Eine Gleichung von e bekommen wir wiederum durch Einsetzen in die Normalvektorform<br />

〈X, n〉 = 〈P, n〉.<br />

⎛<br />

⎜<br />

〈 ⎝<br />

e :<br />

x<br />

y<br />

z<br />

⎞<br />

⎟<br />

⎠ ,<br />

⎛<br />

⎜<br />

⎝<br />

〈X, n〉 = 〈P, n〉<br />

⎞ ⎛ ⎞ ⎛<br />

−12 4<br />

⎟ ⎜ ⎟ ⎜<br />

15 ⎠〉 = 〈 ⎝ 2 ⎠ , ⎝<br />

−9 2<br />

−12x + 15y − 9z = −36<br />

−12<br />

15<br />

−9<br />

⎞<br />

⎟<br />

⎠〉<br />

4.2 Affine Abbildungen<br />

Lineare Abbildungen bilden den Nullpunkt immer auf den Nullpunkt ab. Denn aus T(O) =<br />

T(O + O) = T(O) + T(O) folgt T(O) = O. Mit linearen Abbildungen ist daher keine Verschiebung<br />

möglich, weshalb wir jetzt ihre Erweiterung, die affinen Abbildungen einführen<br />

wollen.<br />

Definition 4.10 Seien V und W zwei Vektorräume über dem Körper K. Die Abbildung<br />

α : V → W heißt affin, wenn es eine lineare Abbildung L : V → W gibt, so dass für alle<br />

X, Y ∈ V gilt:<br />

α(X) − α(Y ) = L(X − Y ).


4.2. AFFINE ABBILDUNGEN 55<br />

Satz 4.5 Eine Abbildung α : V → W ist genau dann affin, wenn sie sich mittels einer<br />

linearen Abbidlung L : V → W und einem Vektor b ∈ W in der Form<br />

α(X) = L(X) + b<br />

schreiben lässt.<br />

Beweis. (⇒) Sei α eine affine Abbildung. Nach Definition 4.10 gibt es eine lineare Abbildung<br />

L : V → W, so dass für alle X, Y ∈ V : α(X) − α(Y ) = L(X − Y ) gilt. L<br />

ist durch α wegen des Abtragungsaxioms eindeutig bestimmt, da jedes Element von V<br />

als Differenz X − Y vorkommt. Umgekehrt ist α durch L eindeutig bestimmt, wenn von<br />

einem festen Punkt P bekannt ist, welches Bild α(P) er besitzt. Denn für Y = P folgt aus<br />

Definition 4.10<br />

α(X) = α(P) + L(X − P) = L(X) + α(P) − L(P).<br />

Für b := α(P) − L(P) haben wir damit die gewünschte Form.<br />

(⇐) Sei umgekehrt eine Abbildung der Form α(X) = L(X) + b gegeben, wobei L eine<br />

lineare Abbildung ist. Daraus folgt sofort<br />

α(X) − α(Y ) = L(X) + b − (L(Y ) + b) = L(X) − L(Y ) = L(X − Y ),<br />

was der Definition 4.10 einer affinen Abbildung entspricht.<br />

✷<br />

Beispiel. Ein Beispiel für eine affine Abbildung wäre etwa<br />

α(X) =<br />

(<br />

2 3<br />

−1 0<br />

)<br />

+<br />

(<br />

−1<br />

5<br />

Sie bildet den Punkt P = (x, y) auf α(P) = (2x + 3y − 1, −x + 5) ab.<br />

)<br />

.<br />

Zum Rechnen ist es oft praktischer, eine Abbildung nur mit Hilfe einer Matrizenmultiplikation<br />

durchführen zu können. Bei den linearen Abbildungen war dies ganz natürlich<br />

der Fall. Um auch bei affinen Abbildungen eine solche Vereinfachung zu erreichen, führen<br />

wir schon an dieser Stelle homogene Koordinaten ein. Dieser Begriff ist vor allem in der<br />

projektiven Geometrie (5) von Bedeutung.<br />

Definition 4.11 Sei P = (x, y) ein Punkt des R 2 . Das Tupel (x, y) ∈ R 2 heißt inhomogene<br />

Koordinaten von P. Das Tupel (zx, zy, z) ∈ R 3 heißt für alle z ≠ 0 ∈ R homogene<br />

Koordinaten von P.<br />

P =<br />

(<br />

x<br />

y<br />

)<br />

≡<br />

⎛<br />

⎜<br />

⎝<br />

zx<br />

zy<br />

z<br />

⎞<br />

⎟<br />


56 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Jedem Punkt des R 2 entspricht also eine Gerade des R 3 durch den Urpsrung. In der<br />

affinen Geometrie werden wir zunächst immer z = 1 wählen.<br />

⎛ ⎞<br />

( ) x<br />

x ⎜ ⎟<br />

P = ≡ ⎝ y ⎠<br />

y<br />

1<br />

Durch Einführung homogener Koordinaten lässt sich eine affine Abbildung α(X) =<br />

T(X) + b in der Form<br />

( )<br />

T b<br />

α(X) =<br />

· X<br />

O t 1<br />

schreiben, wobei X = (x, y, 1) in homogenen Koordinaten anzugeben ist. Aus dem Kontext<br />

wird jeweils klar sein, ob inhomogene oder homogene Koordinaten zu verwenden sind.<br />

Beispiel. Unser Beispiel von vorhin lässt sich mit Hilfe der homogenen Koordinaten jetzt<br />

als reine Matrizenmultiplikation anschreiben:<br />

α(X) =<br />

⎛<br />

⎜<br />

⎝<br />

2 3 −1<br />

−1 0 5<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠ · X.<br />

4.3 Koordinatentransformationen<br />

Gegeben seien zwei Koordinatensysteme C = {P; c 1 , . . .,c n } und D = {Q; d 1 , . . ., d n }. Wie<br />

rechnet man die Koordinaten eines Punktes X, die relativ zum System D gegeben sind, in<br />

Koordinaten des Systems C um?<br />

Abbildung 4.7: Koordinatentransformation<br />

Ein ähnliches Problem haben wir beim Basiswechsel (3.3, p.26) von linearen Abbildungen<br />

bereits gelöst. Sei v D ein Vektor mit Koordinaten relativ zur Basis {d 1 , . . .,d n }. Seine<br />

Koordinaten relativ zur Basis {c 1 , . . .,c n } können wir dann mittels v C = T · v D berechnen,<br />

wobei T die Matrix der identischen Abbildung relativ zu {d 1 , . . .,d n }, {c 1 , . . .,c n } ist.


4.3. KOORDINATENTRANSFORMATIONEN 57<br />

Bei einer Koordinatentransformation zwischen affinen Koordinatensystemen müssen<br />

wir zusätzlich noch die Verschiebung des Ursprungs berücksichtigen. Sei X D ein Punkt<br />

relativ zum Koordinatensystem D. Den Ortsvektor −−−→ OX D = −−→ QX rechnen wir durch einen<br />

Basiswechsel in Koordinanten relativ zu {c 1 , . . .,c n } um und erhalten T · −−−→ OX D = T · X D<br />

(Abbildung 4.7).<br />

Abbildung 4.8: Koordinatentransformation durch Basiswechsel<br />

T · −−−→ OX D ist ein Vektor im Koordinatensystem C und damit vom Ursprung P aus<br />

abgetragen zu denken (Abbildung 4.8). Um die Koordinaten von X C zu erhalten, müssen<br />

wir T · −−−→ OX D aber von Q aus abtragen, ihn also um −→ PQ verschieben. Wir erhalten damit<br />

X C = T · X D + −→ PQ,<br />

wobei T die Matrix der identische Abbildung relativ zu {d 1 , . . .,d n }, {c 1 , . . .,c n } ist. Da<br />

die identische Abbildung bijektiv ist, können wir T invertieren und es gilt:<br />

X D = T −1 · (X C − −→ PQ) = T −1 · X C − T −1 · −→ PQ,<br />

wobei T −1 die Matrix der identische Abbildung relativ zu {c 1 , . . .,c n }, {d 1 , . . ., d n } ist.<br />

Nach dem folgenden Hilfsatz können wir eine Koordinatentransformation in homogener<br />

Schreibweise sehr einfach anschreiben.<br />

( )<br />

T b<br />

Hilfssatz 4.6 Sei T invertierbar, dann gilt: A = ist invertierbar und<br />

O t 1<br />

(<br />

)<br />

A −1 T −1 −T −1 · b<br />

=<br />

.<br />

O t 1<br />

Beweis. Nach Definition 3.16, p.25 ist A genau dann invertierbar, wenn AA −1 = A −1 A =<br />

E gilt. Dies zeigen wir nun:<br />

( ) ( ) (<br />

) ( )<br />

T b T −1 −T −1 b TT −1 −TT −1 b + b E O<br />

·<br />

=<br />

= = E<br />

O t 1 O t 1<br />

O t 1 O t 1<br />

( ) ( ) (<br />

) ( )<br />

T −1 −T −1 b T b T −1 T T −1 b − T −1 b E O<br />

· =<br />

= = E<br />

O t 1 O t 1<br />

O t 1 O t 1


58 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Damit gilt für X C und X D in homogenen Koordinaten:<br />

X C =<br />

(<br />

T −→ PQ<br />

O t 1<br />

)<br />

· X D , X D =<br />

(<br />

T −→ PQ<br />

O t 1<br />

) −1<br />

· X C .<br />

Jede invertierbare affine Abbildung kann als Koordinatentransformation interpretiert<br />

werden. Die Transformationen zwischen orthonormalen Koordinatensystemen werden wir<br />

im nächsten Abschnitt behandeln.<br />

✷<br />

4.4 Bewegungen<br />

Wir wollen uns nun einen bestimmten Typ von affinen Abbildungen ansehen, der die<br />

Abstände von Punkten unverändert lässt. Solche Abbildungen nennt man Bewegungen. Sie<br />

sind eine Erweiterung der orthogonalen Endomorphismen (3.6, p.35), die wir als Spezialfall<br />

von linearen Abbildungen kennengelernt hatten. Zu den Bewegungen gehören Drehungen,<br />

Spiegelungen und Verschiebungen.<br />

Von einem Vektorraum kamen wir durch Hinzunahme des inneren Produkts zu einem<br />

euklidischen Vektorraum. Wenn wir die affine Geometrie um das innere Produkt erweitern,<br />

sprechen wir von der euklidischen Geometrie. In der euklidischen Geometrie kann man<br />

Abstände und Winkel messen.<br />

Definition 4.12 Sei V ein euklidischer Vektorraum. Unter dem Abstand (Entfernung,<br />

Distanz) zweier Punkte P, Q ∈ V verstehen wir<br />

d(P, Q) := ‖ Q − P ‖ = √ 〈Q − P, Q − P 〉.<br />

Jetzt können wir genau angeben, was wir unter einer Bewegung zu verstehen haben.<br />

Definition 4.13 Sei α : V → V eine affine Abbildung in einem euklidischen Vektorraum<br />

V. α heißt Bewegung oder Isometrie, wenn es Abstände invariant lässt, also für alle Punkte<br />

P, Q ∈ V gilt:<br />

d(P, Q) = d(α(P), α(Q)).<br />

Der folgende Satz zeigt uns, dass Bewegungen nichts anderes als die affine Entsprechung<br />

zu den orthogonalen Endomorphismen (3.6, p.35) der Vektorraumtheorie sind.<br />

Satz 4.7 Eine affine Abbildung α(X) = L(X) + b ist genau dann eine Bewegung, wenn L<br />

ein orthogonaler Endomorphismus ist.


4.4. BEWEGUNGEN 59<br />

Beweis. Wir beweisen gleichzeitig beide Richtungen durch eine Äquivalenzumformung.<br />

Sei α(X) = L(X) + b eine Bewegung (Definition 4.13).<br />

d(P, Q) = d(α(P), α(Q))<br />

‖ Q − P ‖<br />

‖ Q − P ‖<br />

‖ Q − P ‖<br />

‖ Q − P ‖<br />

= ‖ α(Q) − α(P)‖<br />

= ‖ L(Q) + b − (L(P) + b)‖<br />

= ‖ L(Q) − L(P)‖<br />

= ‖ L(Q − P)‖<br />

Aufgrund des Abtragungsaxioms lässt sich jedes v ∈ V als Differenz v = Q−P anschreiben.<br />

Wir erhalten damit für alle v ∈ V : ‖ v‖ = ‖ L(v)‖. Nach Satz 3.10, p.36 lässt eine lineare<br />

Abbildung L Längen genau dann invariant, wenn sie ein orthogonaler Endomorphismus<br />

ist.<br />

✷<br />

Folgerung 4.3 Eine Bewegung lässt Winkel invariant.<br />

Beweis. Sei α(X) = L(X) + b eine Bewegung. L ist nach Satz 4.7 ein orthogonaler Endomorphismus<br />

und lässt nach Folgerung 3.3, p.36 Winkel zwischen Vektoren invariant.<br />

Wegen −−−−−−−→ α(X)α(Y ) = α(Y ) − α(X) = L(Y ) + b − (L(X) + b) = L(Y − X) = L( −−→ XY ) gilt<br />

für den Winkel zwischen zwei Vektoren −→ PQ und −→ PR:<br />

( −−−−−−→<br />

∡ α(P)α(Q), −−−−−−→ ) (<br />

α(P)α(R) = ∡ L( −→ PQ), L( −→ ) ( ) −→ −→<br />

PR) = ∡ PQ, PR .<br />

Die Matrizen orthogonaler Endomorphismen des R 2 kennen wir bereits (vgl. Satz 3.11,<br />

p.36) als T(ϕ) und S(ϕ) mit 0 ≤ ϕ ≤ 2π.<br />

(<br />

) (<br />

)<br />

cosϕ − sin ϕ<br />

cos ϕ sin ϕ<br />

T(ϕ) =<br />

, S(ϕ) =<br />

sin ϕ cos ϕ<br />

sin ϕ − cosϕ<br />

T(ϕ) stellt die eigentlichen (det T(ϕ) = 1) und S(ϕ) die uneigentlichen (det S(ϕ) = −1)<br />

orthogonalen Endomorphismen dar.<br />

Definition 4.14 Eine Bewegung heißt eigentlich bzw. uneigentlich, wenn ihr zugehöriger<br />

orthogonaler Endomorphismus eigentlich bzw. uneigentlich ist.<br />

Eigentliche Bewegungen ändern den Umlaufsinn eines Polygons nicht, uneigentliche<br />

hingegen schon. Wir wählen nun die homogene Schreibweise, um alle Bewegungen des R 2<br />

anzugeben:<br />

Eigentliche Bewegungen: α(X) =<br />

(<br />

T(ϕ) b<br />

O t 1<br />

)<br />

· X<br />

✷<br />

Uneigentliche Bewegungen: α(X) =<br />

(<br />

S(ϕ) b<br />

O t 1<br />

)<br />

· X


60 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Die Bewegungen der Ebene wollen wir jetzt noch genauer nach ihrer geometrischen<br />

Bedeutung unterscheiden. Dabei werden wir Verschiebungen, Drehungen und Spiegelungen<br />

betrachten. Auch hier soll wieder teilweise die homogene Schreibweise verwendet werden.<br />

Für einen Punkt X sind im Folgenden je nach Schreibweise homogene oder inhomogene<br />

Koordinaten einzusetzen.<br />

4.4.1 Identität<br />

Die eigentliche Bewegung mit T(0) und b = O entspricht der identischen Abbildung.<br />

α(X) =<br />

⎛<br />

⎜<br />

⎝<br />

1 0 0<br />

0 1 0<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠ · X<br />

4.4.2 Verschiebung<br />

Eine eigentliche Bewegung mit T(0) und b = (b x , b y ) ≠ O nennen wir Translation oder<br />

Verschiebung.<br />

α(X) =<br />

⎛<br />

⎜<br />

⎝<br />

1 0 b x<br />

0 1 b y<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠ · X<br />

Ein Punkt X wird dabei um den Vektor b verschoben und auf den Punkt α(X) = X +b<br />

abgebildet (siehe Abbildung 4.9).<br />

Abbildung 4.9: Translation


4.4. BEWEGUNGEN 61<br />

4.4.3 Drehung um den Ursprung<br />

Eine eigentliche Bewegung mit T(ϕ) (0 < ϕ < 2π) und b = O nennen wir Drehung um den<br />

Ursprung.<br />

⎛<br />

⎞<br />

cosϕ − sin ϕ 0<br />

⎜<br />

⎟<br />

α(X) = ⎝ sin ϕ cosϕ 0 ⎠ · X<br />

0 0 1<br />

Ein Punkt X wird dabei um den Winkel ϕ gegen den Uhrzeigersinn um den Ursprung<br />

gedreht (siehe Abbildung 4.10).<br />

Abbildung 4.10: Drehung um den Ursprung<br />

Sei X in Polarkoordinaten gegeben mit X = (r; ψ), dann ist α(X) = (r; ψ + ϕ). Davon<br />

wollen wir uns nun überzeugen. Rufen wir uns dazu die 1. Summensätze von Sinus und<br />

Cosinus in Erinnerung:<br />

sin(ψ ± ϕ) = sin ψ cos ϕ ± cosψ sin ϕ, cos(ψ ± ϕ) = cosψ cos ϕ ∓ sin ψ sin ϕ.<br />

Wir betrachten nun α(X), indem wir die homogenen Koordinaten für (r cosψ, r sin ψ, 1)<br />

des Punktes X einsetzen.<br />

⎛<br />

⎞ ⎛ ⎞<br />

cos ϕ − sin ϕ 0 r cos ψ<br />

⎜<br />

⎟ ⎜ ⎟<br />

α(X) = ⎝ sin ϕ cosϕ 0 ⎠ · ⎝ r sin ψ ⎠<br />

0 0 1 1<br />

=<br />

=<br />

≡<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎜<br />

⎝<br />

r(cosψ cosϕ − sin ψ sin ϕ)<br />

r(cosψ sin ϕ + sin ψ cosϕ)<br />

1<br />

r cos(ψ + ϕ)<br />

r sin(ψ + ϕ)<br />

1<br />

(r; ψ + ϕ).<br />

⎞<br />

⎟<br />

⎠<br />

⎞<br />

⎟<br />


62 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

4.4.4 Drehung um einen Punkt<br />

Die Drehung um einen beliebigen festen Punkt Q lässt sich mittels Koordinatentransformationen<br />

(4.3, p.56) auf eine Drehung um den Ursprung zurückführen. Seien dazu<br />

C = {O; (1, 0), (0, 1)} das Standardkoordinatensystem und D = {Q; (1, 0), (0, 1)} ein Koordinatensystem<br />

mit Q als Ursprung.<br />

Abbildung 4.11: Drehung um einen Punkt<br />

Die Koordinaten lassen sich sehr einfach umrechnen:<br />

( )<br />

E Q<br />

X C = X D + Q bzw. X C = X<br />

O t D<br />

1<br />

( )<br />

E −Q<br />

X D = X C − Q bzw. X D = X<br />

O t C<br />

1<br />

Eine Drehung um den Punkt Q entspricht einer Drehung um den Ursprung im Koordinatensystem<br />

D. Sei also X C gegeben. Wir berechnen zunächst seine Koordinaten X D ,<br />

führen eine Drehung um den Ursprung durch, und wandeln das Ergebnis schließlich wieder<br />

in Koordinaten von C um.<br />

( ) ( ) ( )<br />

E Q T(ϕ) O E −Q<br />

Rot Q (ϕ) · X C :=<br />

· X<br />

O t 1 O t 1 O t C<br />

1<br />

=<br />

=<br />

=<br />

(<br />

(<br />

(<br />

T(ϕ) Q<br />

O t 1<br />

) ( )<br />

E −Q<br />

· X<br />

O t C<br />

1<br />

)<br />

T(ϕ) −T(ϕ)Q + Q<br />

O t 1<br />

T(ϕ) (E − T(ϕ))Q<br />

O t 1<br />

)<br />

· X C<br />

· X C


4.4. BEWEGUNGEN 63<br />

Zusammenfassend können wir damit die Rotation eines Punktes X um einen Punkt Q<br />

durch folgende Bewegung beschreiben:<br />

α(X) = T(ϕ) · X + (E − T(ϕ)) · Q<br />

= T(ϕ)X + Q − T(ϕ)Q<br />

= T(ϕ)(X − Q) + Q<br />

Zum praktischen Rechnen ist die inhomogene Schreibweise etwas angenehmer als die<br />

homogene, weil hier nur eine Matrizenmultiplikation durchgeführt werden muss. Zudem<br />

kommt diese Schreibweise der Intuition am nächsten: wir drehen den Vektor −−→ QX = X −Q<br />

um den Ursprung und tragen das Ergebnis vom Punkt Q aus ab.<br />

Eine eigentliche Bewegung mit T(ϕ), 0 < ϕ < 2π, und b = (b x , b y ) ≠ O nennen wir<br />

Drehung um den Punkt Q mit Q = (E − T(ϕ)) −1 b.<br />

α(X) =<br />

⎛<br />

⎜<br />

⎝<br />

cos(ϕ) − sin(ϕ) b x<br />

sin(ϕ) cos(ϕ) b y<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠ · X<br />

Es bleibt noch zu zeigen, dass (E −T(ϕ)) wirklich invertierbar ist. Dies ist genau dann<br />

der Fall, wenn die Determinante von (E − T(ϕ)) ≠ 0 ist.<br />

(<br />

det(E − T(ϕ)) =<br />

∣<br />

1 − cosϕ sin ϕ<br />

− sin ϕ 1 − cosϕ<br />

)∣ ∣∣∣∣<br />

= (1 − cosϕ) 2 + sin 2 ϕ = 2(1 − cosϕ)<br />

Für 0 < ϕ < 2π ist die Determinante immer ungleich null und damit Q wirklich eindeutig<br />

festgelegt. Im Fall ϕ = 0 hätten wir T(0) = E und somit eine Translation.<br />

4.4.5 Punktspiegelung<br />

Definition 4.15 Sei Q ∈ V ein fester Punkt. Die Abbildung α : V → V heißt Punktspiegelung<br />

an Q, wenn für alle X ∈ V : −−−−→ Qα(X) = − −−→ QX gilt.<br />

Abbildung 4.12: Punktspiegelung


64 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Eine eigentliche Bewegung mit T(π) und b = (b x , b y ) ist eine Punktspiegelung am Punkt<br />

Q mit Q = 1 b. 2<br />

⎛ ⎞<br />

−1 0 b x<br />

⎜ ⎟<br />

α(X) = ⎝ 0 −1 b y ⎠ · X<br />

0 0 1<br />

Ein Punkt X wird dabei auf den Punkt α(X) = −X + b abgebildet. Wir zeigen noch,<br />

dass es sich tatsächlich um eine Punktspiegelung an Q = 1 b handelt (vgl. Abbildung 4.12).<br />

2<br />

α(X) = −X + b<br />

α(X) = −X + 2Q<br />

α(X) − Q = Q − X<br />

−−−−→<br />

Qα(X) = − −−→ QX<br />

Eine Punktspiegelung an Q entspricht einer Drehung um den Winkel π um Q, denn<br />

α(X) = T(π)(X − Q) + Q = −E(X − Q) + Q = −X + 2Q = −X + b.<br />

4.4.6 Spiegelung an der x-Achse<br />

Eine uneigentliche Bewegung mit S(0) und b = O nennen wir Spiegelung an der x-Achse.<br />

⎛ ⎞<br />

( ) 1 0 0<br />

S(0) O ⎜ ⎟<br />

α(X) =<br />

· X =<br />

O t ⎝ 0 −1 0 ⎠ · X<br />

1<br />

0 0 1<br />

Ein Punkt X = (x, y) wird dabei auf den Punkt α(X) = (x, −y) abgebildet (siehe<br />

Abbildung 4.13).<br />

Abbildung 4.13: Spiegelung an der x-Achse


4.4. BEWEGUNGEN 65<br />

4.4.7 Spiegelung an einer Geraden<br />

Die Spiegelung an einer beliebigen festen Geraden<br />

( )<br />

cos ϕ<br />

g : X = Q + λ<br />

2<br />

sin ϕ 2<br />

durch den Punkt Q = (q x , q y ) lässt sich mittels Koordinatentransformationen auf eine<br />

Spiegelung an der x-Achse zurückführen.<br />

Abbildung 4.14: Spiegelung an einer Geraden<br />

Seien C = {O; (1, 0), (0, 1)} das Standardkoordinatensystem und<br />

{ ( ) ( )}<br />

cos ϕ − sin ϕ<br />

D = Q;<br />

2<br />

sin ϕ ,<br />

2<br />

cos ϕ 2<br />

2<br />

ein Koordinatensystem mit Q als Ursprung und dem Richtungsvektor der Geraden als<br />

x-Achse. Die Koordinaten lassen sich wie folgt von D nach C umrechnen:<br />

⎛<br />

⎞<br />

( )<br />

T( ϕ<br />

X C =<br />

) Q cos ϕ − sin ϕ q<br />

2 2 x<br />

2 ⎜<br />

· X<br />

O t D = ⎝ sin ϕ cos ϕ ⎟<br />

q<br />

2 2 y ⎠ · X C<br />

1<br />

0 0 1<br />

Unter Verwendung von Hilfssatz 4.6, p.57 und der Tatsache T −1 = T t (Satz 3.11, p.36)<br />

geben wir auch gleich die Umkehrung an.<br />

( )<br />

T( ϕ<br />

X D =<br />

) Q<br />

−1 (<br />

)<br />

T( ϕ 2<br />

· X<br />

O t C =<br />

2 )−1 −T( ϕ 2 )−1 Q<br />

· X<br />

1<br />

O t C<br />

1<br />

=<br />

(<br />

T( ϕ 2 )t −T( ϕ 2 )t Q<br />

O t 1<br />

)<br />

· X C<br />

Eine Spiegelung an der Geraden g entspricht einer Spiegelung an der x-Achse im Koordinatensystem<br />

D. Sei nun X C gegeben. Wir berechnen zunächst seine Koordinaten X D ,


66 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

führen eine Spiegelung an der x-Achse durch, und wandeln das Ergebnis schließlich wieder<br />

in Koordinaten von C um.<br />

Bevor wir uns an die Berechung der Spiegelungsmatrix machen, überzeugen wir uns<br />

von folgenden beiden Tatsachen.<br />

Hilfssatz 4.8<br />

T(ϕ) · S(0) = S(ϕ)<br />

S(ϕ) · T t (ϕ) = S(2ϕ)<br />

Beweis. Die erste Aussage bekommen wir sofort:<br />

(<br />

) (<br />

cos ϕ − sin ϕ 1 0<br />

T(ϕ) · S(0) =<br />

·<br />

sin ϕ cosϕ 0 −1<br />

)<br />

=<br />

(<br />

cosϕ sin ϕ<br />

sin ϕ − cosϕ<br />

)<br />

= S(ϕ).<br />

Für die zweite Aussage müssen wir zwei Varianten des 1. Summensatzes für Sinus und<br />

Cosinus zu Hilfe nehmen. Danach gilt nämlich cos 2 ϕ − sin 2 ϕ = cos 2ϕ und 2 cosϕsin ϕ =<br />

sin 2ϕ. Damit rechnen wir nun auch die zweite Aussage nach:<br />

(<br />

) (<br />

)<br />

S(ϕ) · T t (ϕ) =<br />

cosϕ sin ϕ cosϕ sin ϕ<br />

·<br />

sin ϕ − cosϕ − sin ϕ<br />

(<br />

cosϕ<br />

)<br />

=<br />

cos 2 ϕ − sin 2 ϕ 2 cosϕsin ϕ<br />

(<br />

2 cosϕsin ϕ sin 2 ϕ − cos 2 ϕ<br />

)<br />

=<br />

sin 2ϕ − cos 2ϕ<br />

cos 2ϕ sin 2ϕ<br />

= S(2ϕ)<br />

Die Spiegelung an einer Geraden g berechnet sich durch die folgende homogene Matrix.<br />

( ) ( )(<br />

)<br />

( ϕ<br />

)<br />

T( ϕ<br />

Spieg g :=<br />

) Q S(0) O T( ϕ 2 2 )t −T( ϕ 2 )t Q<br />

2<br />

O t 1 O t 1 O t 1<br />

( ) (<br />

)<br />

S( ϕ<br />

=<br />

) Q T( ϕ 2 2 )t −T( ϕ 2 )t Q<br />

O t 1 O t 1<br />

(<br />

)<br />

S(ϕ) −S(ϕ)Q + Q<br />

=<br />

O t 1<br />

(<br />

)<br />

S(ϕ) (E − S(ϕ))Q<br />

=<br />

O t 1<br />

Unter der Spiegelung eines Punktes X an einer Geraden g mit Punkt Q und Steigungswinkel<br />

ϕ wollen wir daher folgende Bewegung verstehen:<br />

2<br />

α(X) = S(ϕ) · X + (E − S(ϕ)) · Q<br />

= S(ϕ)X + Q − S(ϕ)Q<br />

= S(ϕ)(X − Q) + Q<br />


4.4. BEWEGUNGEN 67<br />

Zum praktischen Rechnen ist hier wiederum die inhomogene Schreibweise angenehmer.<br />

Wir zeigen nun noch, dass es egal ist, welchen Punkt Q der Geraden wir bei einer Spiegelung<br />

verwenden.<br />

Bemerkung 4.3 Eine Geradenspiegelung α Q (X) = S(ϕ)(X −Q)+Q ist unabhängig vom<br />

verwendeten Punkt Q der Geraden g.<br />

Beweis. Sei die Gerade g gegeben in der Parameterdarstellung<br />

( )<br />

cos ϕ<br />

g : X = Q + λ<br />

2<br />

sin ϕ .<br />

2<br />

Wir zeigen zunächst, dass S(ϕ) den Richtungsvektor von g unverändert lässt. Dazu benötigen<br />

wir wieder den 1. Summensatz für Sinus und Cosinus.<br />

sin ϕ cosψ ± cosϕsin ψ = sin(ϕ ± ψ) cosϕcosψ ∓ sin ϕ sin ψ = cos(ϕ ± ψ)<br />

Es gilt dann nämlich<br />

( )<br />

cos ϕ<br />

S(ϕ) ·<br />

2<br />

sin ϕ 2<br />

(<br />

=<br />

=<br />

=<br />

(<br />

(<br />

(<br />

cos ϕ<br />

Sei nun P = Q + λ<br />

2<br />

sin ϕ 2<br />

der eben gezeigten Tatsache:<br />

) (<br />

cosϕ sin ϕ cos ϕ<br />

·<br />

2<br />

sin ϕ − cosϕ sin ϕ 2<br />

)<br />

cosϕcos ϕ + sin ϕ sin ϕ 2 2<br />

sin ϕ cos ϕ − cos ϕ sin ϕ 2 2<br />

)<br />

cos ϕ 2<br />

sin ϕ 2<br />

)<br />

)<br />

ein beliebiger Punkt der Geraden g. Dann gilt mit Hilfe<br />

α P (X) = S(ϕ)(X − P) + P<br />

= S(ϕ)X − S(ϕ)P + P<br />

= S(ϕ)X − S(ϕ)Q − λS(ϕ)<br />

= S(ϕ)X − S(ϕ)Q − λ<br />

= S(ϕ)X − S(ϕ)Q + Q<br />

= S(ϕ)(X − Q) + Q<br />

= α Q (X)<br />

(<br />

(<br />

cos ϕ 2<br />

sin ϕ 2<br />

cos ϕ 2<br />

sin ϕ 2<br />

)<br />

)<br />

+ Q + λ<br />

+ Q + λ<br />

(<br />

(<br />

cos ϕ 2<br />

sin ϕ 2<br />

cos ϕ 2<br />

sin ϕ 2<br />

)<br />

)<br />


68 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

4.4.8 Überblick der ebenen Bewegungen<br />

Alle eigentlichen Bewegungen der Ebene sind von der Form α(X) = T(ϕ)X + b, alle<br />

uneigentlichen von der Form α(X) = S(ϕ)X + b, mit<br />

T(ϕ) =<br />

(<br />

cosϕ − sin ϕ<br />

sin ϕ cos ϕ<br />

) (<br />

)<br />

cos ϕ sin ϕ<br />

, S(ϕ) =<br />

.<br />

sin ϕ − cosϕ<br />

Die Unterscheidung der Bewegungen nach ihrer geometrischen Bedeutung ist in Tabelle<br />

4.1 noch einmal übersichtlich dargestellt. Wir haben bereits angemerkt, dass alle<br />

affinen Abbildungen als Koordinatentransformationen aufgefasst werden können. Bewegungen<br />

können in gleicher Weise als Koordinatentransformationen zwischen orthonormalen<br />

Koordinatensystemen interpretiert werden.<br />

Name Inhomogene Schreibweise Homogene Matrix<br />

⎛ ⎞<br />

1 0 0<br />

⎜ ⎟<br />

Identität<br />

α(X) = X<br />

⎝ 0 1 0 ⎠<br />

0 0 1<br />

Translation<br />

Drehung um Ursprung<br />

Drehung um Q<br />

Punktspiegelung an Q<br />

Spiegelung an x-Achse<br />

Spiegelung an Gerade<br />

( )<br />

cos ϕ<br />

g : X = λ<br />

2<br />

sin ϕ 2<br />

Spiegelung an Gerade<br />

( )<br />

cos ϕ<br />

g : X = Q + λ<br />

2<br />

sin ϕ 2<br />

α(X) = X + b<br />

α(X) = T(ϕ)X<br />

α(X) = T(ϕ)(X − Q) + Q<br />

α<br />

α(X) = −X + 2Q<br />

(<br />

x<br />

y<br />

)<br />

=<br />

(<br />

x<br />

−y<br />

α(X) = S(ϕ)X<br />

)<br />

α(X) = S(ϕ)(X − Q) + Q<br />

Tabelle 4.1: Bewegungen der Ebene<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎜<br />

⎝<br />

1 0 b x<br />

0 1 b y<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠<br />

cosϕ − sin ϕ 0<br />

sin ϕ cosϕ 0<br />

0 0 1<br />

⎞<br />

⎟<br />

⎠<br />

(<br />

)<br />

T(ϕ) (E − T(ϕ))Q<br />

O t 1<br />

⎛ ⎞<br />

−1 0 2q x<br />

⎜ ⎟<br />

⎝ 0 −1 2q y ⎠<br />

0 0 1<br />

⎛ ⎞<br />

1 0 0<br />

⎜ ⎟<br />

⎝ 0 −1 0 ⎠<br />

0 0 1<br />

⎛<br />

⎜<br />

⎝<br />

(<br />

cos ϕ sin ϕ 0<br />

sin ϕ − cosϕ 0<br />

0 0 1<br />

S(ϕ) (E − S(ϕ))Q<br />

O t 1<br />

⎞<br />

⎟<br />

⎠<br />

)


4.5. KEGELSCHNITTE 69<br />

4.5 Kegelschnitte<br />

4.5.1 Normalformen<br />

In Abschnitt 2.2 wurde gefordert, dass ein Kegelschnitt durch eine allgemeine quadratische<br />

Gleichung in zwei Variablen der Form ax 2 + by 2 + cxy + dx + ey + f = 0 angegeben<br />

werden kann. Dabei drängen sich einige Fragen auf: Stellt die Lösungsmenge einer solchen<br />

Gleichung wirklich einen Kegelschnitt dar, und wenn ja für welche Parameter? Wie kann<br />

man feststellen, ob es sich bei einer konkret vorliegenden Gleichung um eine Ellipse, Hyperbel,<br />

Parabel oder einen Kreis handelt? Wie können wir charakteristische Größen wie<br />

Brennpunkte, Scheitelpunkte, Hauptachsenrichtungen, Hauptachsenlängen oder Exzentrizität<br />

berechnen?<br />

Im Folgenden sollen alle diese Fragen beantwortet werden. Die Idee dahinter ist einfach:<br />

Wir versuchen die vorliegende Kurve in ihre Hauptlage zu bewegen. Darunter wollen wir<br />

verstehen, dass eine Ellipse oder Hyperbel die Koordinatenachsen als Hauptachsen bekommen<br />

und eine Parabel symmetrisch bezüglich der x-Achse mit ihrem Scheitel im Nullpunkt<br />

liegen soll. Anders ausgedrückt heißt dies, dass wir versuchen wollen, die Kegelschnitte auf<br />

folgende Normalformen zu bringen.<br />

Ellipse<br />

Eine Ellipse ist die Menge aller Punkte X der Ebene, für die die Summe der Abstände von<br />

zwei festen Punken F 1 und F 2 , den Brennpunkten, konstant ist, also XF 1 + XF 2 = 2a.<br />

Normalform :<br />

a + y2<br />

2 b = 1 mit a ≥ b<br />

2<br />

Halbachsenlängen : a, b<br />

x 2<br />

Exzentrizität : e = √ a 2 − b 2<br />

Mittelpunkt : M = (0, 0)<br />

Brennpunkte : F 1 = (−e, 0), F 2 = (e, 0)<br />

Scheitelpunkte : S 1 = (−a, 0), S 2 = (a, 0), S 3 = (0, −b), S 4 = (0, b)<br />

Hyperbel<br />

Eine Hyperbel ist die Menge aller Punkte X der Ebene, für die der Betrag der Differenz<br />

der Abstände von zwei festen Punkten F 1 und F 2 , den Brennpunkten, konstant ist, also<br />

|XF 1 − XF 2 | = 2a.<br />

x 2<br />

Normalform :<br />

a − y2<br />

2 b = 1 2<br />

Halbachsenlängen : a, b<br />

Exzentrizität : e = √ a 2 + b 2<br />

Mittelpunkt : M = (0, 0)


70 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Brennpunkte : F 1 = (−e, 0), F 2 = (e, 0)<br />

Scheitelpunkte : S 1 = (−a, 0), S 2 = (a, 0)<br />

Abbildung 4.15: Ellipse in Hauptlage<br />

Abbildung 4.16: Hyperbel in Hauptlage<br />

Parabel<br />

Eine Parabel ist die Menge aller Punkte X der Ebene, für die die Abstände von einer festen<br />

Geraden l, der Leitgeraden, und einem festen Punkt F, dem Brennpunkt, gleich groß sind,<br />

also Xl = XF.<br />

Normalform : y 2 = 2px mit p > 0<br />

Parameter (Fl) : p<br />

( p<br />

)<br />

Brennpunkt : F =<br />

2 , 0<br />

Scheitelpunkt : S = (0, 0)<br />

Leitgerade : l : x = − p 2


4.5. KEGELSCHNITTE 71<br />

Abbildung 4.17: Parabel in Hauptlage<br />

Wir wollen jede Kurve Ellipse, Hyperbel bzw. Parabel nennen, die man durch eine<br />

Bewegung in die gerade angegebene Hauptlage bringen kann. Ellipse, Hyperbel und Parabel<br />

nennen wir auch eigentliche Kegelschnitte.<br />

4.5.2 Kurven zweiten Grades<br />

Wir betrachten nun die allgemeine Gleichung zweiten Grades [11, pp.188] in den Variablen<br />

x und y, die wir wie folgt anschreiben wollen:<br />

a 11 x 2 + 2a 12 xy + a 22 y 2 + 2a 13 x + 2a 23 y + a 33 = 0<br />

mit a ij ∈ R. Die auftretenden Koeffizienten kann man dann als Koeffizienten einer reellen<br />

symmetrischen 3 × 3 Matrix A := (a ij ) auffassen.<br />

A :=<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

a 11 a 12 a 13<br />

⎟<br />

a 12 a 22 a 23 ⎠<br />

a 13 a 23 a 33<br />

Zur Abkürzung setzen wir<br />

( ) (<br />

S a<br />

A = mit S := S<br />

a t<br />

A =<br />

α<br />

) (<br />

a 11 a 12<br />

, a :=<br />

a 12 a 22<br />

)<br />

a 13<br />

, α := a 33<br />

a 23<br />

Die Gleichung zweiten Grades können wir nun mit Hilfe des Punktes X = (x, y) bzw.<br />

seiner homogenen Entsprechung X h = (x, y, 1) einfacher anschreiben.<br />

0 = a 11 x 2 + 2a 12 xy + a 22 y 2 + 2a 13 x + 2a 23 y + a 33<br />

= X t SX + 2a t X + α = 〈X, SX〉 + 2〈a, X〉 + α<br />

= X t h AX h


72 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

( )<br />

a 11 a 12<br />

Definition 4.16 Seien A = (a ij ) eine reelle symmetrische 3×3 Matrix, S =<br />

a 12 a 22<br />

mit S ≠ O, X ∈ R 2 und X h = (X, 1) ∈ R 3 . Damit lässt sich ein quadratisches Polynom<br />

in zwei Variablen so schreiben:<br />

k A (X) := X t hAX h<br />

Wir definieren nun die Punktmenge K A als Lösungsmenge einer quadratischen Gleichung<br />

in zwei Variablen.<br />

K A := {X ∈ R 2 : k A (X) = 0}.<br />

Wenn K A nicht leer ist, so nennen wir K A eine ebene Kurve zweiten Grades oder Kegelschnitt.<br />

Unter einer Normierung von K A wollen wir eine Multiplikation der Matrix A mit einem<br />

Faktor t ≠ 0 ∈ R verstehen. Durch eine Normierung ändert sich die Lösungsmenge der<br />

Gleichung k A (X) = 0 nicht und es gilt für alle t ≠ 0 : K A (X) = K tA (X).<br />

Beispiel. Die Lösungsmenge der Gleichung 25x 2 + 14xy + 25y 2 + 28x + 100y − 188 = 0<br />

stellt beispielsweise eine Kurve zweiten Grades dar. Genau genommen handelt es sich um<br />

die Ellipse in Abbildung 4.18 In unserer Schreibweise sind S, a, α bzw. A:<br />

S =<br />

A =<br />

(<br />

(<br />

25 7<br />

7 25<br />

S<br />

a t<br />

)<br />

, a =<br />

⎛<br />

)<br />

a ⎜<br />

= ⎝<br />

α<br />

(<br />

14<br />

50<br />

)<br />

25 7 14<br />

7 25 50<br />

14 50 −188<br />

, α = −188<br />

⎞<br />

⎟<br />

⎠<br />

Die in Abschnitt 4.5.1, p.69 angegebenen Normalformen von Ellipse, Hyperbel und<br />

Parabel sehen in Matrixschreibweise so aus:<br />

⎛ ⎞<br />

1<br />

x 2<br />

0 0<br />

Ellipse:<br />

a + y2<br />

a 2 b = 1, a ≥ b A = ⎜<br />

2 1 ⎟<br />

2 ⎝ 0 0<br />

b<br />

⎠ 2<br />

0 0 −1<br />

Hyperbel:<br />

x 2<br />

a 2 − y2<br />

b 2 = 1<br />

A = ⎛<br />

⎜<br />

⎝<br />

Parabel: y 2 = 2px, p > 0 A =<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

0 0<br />

a 2 0 − 1 0<br />

b 2<br />

0 0 −1<br />

0 0 −p<br />

0 1 0<br />

−p 0 0<br />

Wir werden nun versuchen, die Matrix A einer beliebigen Kurve zweiten Grades K A (X)<br />

durch eine Bewegung und eventuelle Normierung auf eine Normalform K B (Y ) zu bringen.<br />

⎞<br />

⎟<br />

⎠<br />

⎞<br />

⎟<br />


4.5. KEGELSCHNITTE 73<br />

Abbildung 4.18: Ellipse: 25x 2 + 14xy + 25y 2 + 28x + 100y − 188 = 0<br />

Dies läuft darauf hinaus, dass wir eine geeignete Bewegung suchen, mit deren Hilfe wir die<br />

vorliegende Kurve in ihre Hauptlage drehen und verschieben.<br />

Zunächst schauen wir uns an, wie sich die Gleichung unserer Kurve unter einer affinen<br />

Abbildung verändert.<br />

Hilfssatz 4.9 Sei X = TY +b eine affine Abbildung des R 2 . Dann gilt k A (X) = k A (TY +<br />

b) = k B (Y ) mit<br />

(<br />

)<br />

T t ST T t (Sb + a)<br />

B =<br />

.<br />

(Sb + a) t T b t (Sb + a) + a t b + α<br />

Beweis. Wir setzen zum Beweis der Tatsache die affine Abildung in homogener Schreibweise<br />

in k A (X) = Xh tAX h ein und erinnern uns dabei, dass für Matrizen (MN) t = N t M t<br />

sowie (M + N) t = M t + N t gilt.<br />

(( ) ) t ( )<br />

T b T b<br />

k A (TY + b) = Y<br />

O t h A Y<br />

1<br />

O t h<br />

1<br />

( ) t ( )( )<br />

= Y t<br />

h<br />

= Y t<br />

h<br />

= Y t<br />

h<br />

= Y t<br />

h<br />

T b<br />

O t<br />

(<br />

1<br />

T t O<br />

(<br />

b t 1<br />

T t O<br />

(<br />

b t 1<br />

S a T b<br />

a t α O t 1<br />

)( )( )<br />

S a T b<br />

a t α O t 1<br />

)( )<br />

ST Sb + a<br />

Y<br />

a t T a t h<br />

b + α<br />

T t ST T t (Sb + a)<br />

b t ST + a t T b t (Sb + a) + a t b + α<br />

Y h<br />

Y h<br />

)<br />

Y h


74 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

= Y t<br />

h<br />

(<br />

= k B (Y )<br />

T t ST T t (Sb + a)<br />

(Sb + a) t T b t (Sb + a) + a t b + α<br />

Bevor wir konkret nach einer Bewegung suchen, die eine gegebene Kurve in Hauptlage<br />

bringt, wollen wir uns noch folgender Frage zuwenden: Gibt es Größen einer Kurve zweiten<br />

Grades, die bei einer Bewegung unverändert bleiben, also sogenannte Kurveninvarianten?<br />

Eine solche Größe würde für eine Ellipse in allgemeiner Lage und ihre Entsprechung in<br />

Hauptlage den gleichen Wert annehmen. Mit solchen Invarianten könnten wir den Typ<br />

einer Kurve zweiten Grades K A vielleicht schon direkt an ihrer Matrix A ablesen. In der<br />

Tat gibt es solche Invarianten, wie der folgende Hilfssatz zeigt.<br />

Hilfssatz 4.10 det S, spurS und det A sind Invarianten der Kurve K A , d.h. sie verändern<br />

sich nicht bei Bewegungen der Kurve.<br />

Die Vorzeichen von det S und spurS · det A sind invariant gegenüber Normierung.<br />

Beweis. Sei X = TY + b eine Bewegung. Eine Bewegung ist bekanntlich eine affine Abbildung<br />

mit einer orthogonalen Matrix T (Satz 4.7, p.58). Eine orthogonale Matrix T ist<br />

stets invertierbar mit T −1 = T t (Satz 3.11, p.36). Sei nun k A (X) = k A (TY + b) = k B (Y )<br />

mit der Matrix B wie im Hilfssatz 4.9. Aus der Matrix B lesen wir S B = T t ST ab. Für die<br />

erste Aussage sind damit det S = det S B , spurS = spurS B und det A = det B zu zeigen.<br />

S B = T t ST = T −1 ST stellt einen Basiswechsel dar. Nach Satz 3.5, p.30 sind Determinante<br />

und Spur invariant gegenüber Basiswechsel. Wir wollen nun det A = det B zeigen.<br />

Vom Beweis des Hilfssatzes 4.9 wissen wir, dass<br />

( ) t ( )<br />

T b T b<br />

B = A .<br />

O t 1 O t 1<br />

)<br />

Y h<br />

✷<br />

Nach dem Entwicklungssatz für Determinanten (Satz 3.3, p.29) gilt<br />

( ) t ( )<br />

(<br />

T b T t O<br />

det = det = det T t T b<br />

und det<br />

O t 1 b t 1<br />

O t 1<br />

)<br />

= det T,<br />

indem man nach der letzten Spalte bzw. letzten Zeile entwickelt. Unter Verwendung der Rechenregel<br />

det(MN) = det M · det N (Bemerkung 3.5, p.30) bekommen wir die gewünschte<br />

Aussage:<br />

(( ) t ( ))<br />

T b T b<br />

det B = det A<br />

O t 1 O t 1<br />

( ) t ( ) t<br />

T b<br />

T b<br />

= det<br />

· det A · det<br />

O t 1<br />

O t 1<br />

= det(T t ) · det A · det T


4.5. KEGELSCHNITTE 75<br />

= det(T t T) · det A<br />

= det E · det A<br />

= det A<br />

Bei einer Normierung wird die Gleichung der Kurve mit einer Konstanten t ≠ 0 ∈ R<br />

multipliziert, also k tA = 0. Dabei ändert sich das Bild der Kurve nicht, die Werte det S,<br />

spurS und det A aber sehrwohl, wie wir unter Verwendung der zweiten Eigenschaft der<br />

Definition 3.19, p.28 einer Determinante sehen:<br />

det S tA<br />

spurS tA<br />

= det<br />

(<br />

)<br />

ta 11 ta 12<br />

= t 2 · det<br />

ta 12 ta 22<br />

= ta 11 + ta 22 = t · spurS<br />

det(tA) = t 3 · det A<br />

spurS tA · det(tA) = t 4 · spurS · det A<br />

(<br />

)<br />

a 11 a 12<br />

= t 2 · det S<br />

a 12 a 22<br />

Für negatives t ändern spurS und det A ihr Vorzeichen. Aufgrund der geraden Hochzahlen<br />

sind die Vorzeichen von det S und spurS · det A hingegen invariant gegenüber Normierungen.<br />

✷<br />

eine Kurve, die durch Be-<br />

Folgerung 4.4 Seien K A eine Kurve zweiten Grades und K B ′<br />

wegung und Normierung von K A entsteht. Dann gilt:<br />

det A = 0 ⇔ det B ′ = 0<br />

Beweis. Mit der gegebenen Bewegung kommen wir zu einer Kurve K B . Nach Hilfssatz 4.10<br />

gilt det A = det B. Zu K B ′ kommen wir durch eine Normierung, also B ′ = t · B für ein<br />

t ≠ 0 ∈ R.<br />

det B ′ = det(tB) = t 3 det B = t 3 det A<br />

Wegen t ≠ 0 folgt sofort det A = 0 ⇔ det B ′ = 0.<br />

✷<br />

4.5.3 Klassifikation der Kurven zweiten Grades<br />

Wir wollen nun versuchen, eine gegebene Kurve K A (X) durch eine Bewegung auf eine<br />

Normalform K B (Y ) zu bringen. Sei also X = TY +b im Folgenden eine Bewegung. Damit<br />

ist T orthogonal und es gilt T t = T −1 (vgl. Bewegungen 4.4, p.58). Anschaulich heißt dies:<br />

Wir versuchen, einen Kegelschnitt K B (Y ) in Hauptlage so zu drehen und zu verscheiben,<br />

dass wir die gegebene Kurve K A (X) erhalten. Für die Drehung ist die Matrix T verantwortlich,<br />

für die Verschiebung der Vektor b. Die Frage lautet damit: Wie sind T und b zu<br />

wählen?


76 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Diagonalisierung von S<br />

Die Matrizen der Kegelschnitte in Normalform (4.5.1, p.69) haben Diagonalgestalt. Erinnern<br />

wir uns deshalb an die Abschnitte über Diagonalisierung von Matrizen (3.7, p.38)<br />

und insbesondere den Spektralsatz (3.8, p.42). Dort kamen wir zu folgendem Ergebnis:<br />

Sei S eine symmetrische 2 × 2 Matrix. Dann lässt sich S auf eine Diagonalmatrix D<br />

relativ zur Basis der Eigenvektoren von S bringen mit<br />

( )<br />

D = T t λ 1 0<br />

· S · T =<br />

0 λ 2<br />

Dabei sind λ 1 , λ 2 die Eigenwerte und T = (v 1 , v 2 ) die orthogonale Matrix der Eigenvektoren<br />

v 1 , v 2 von S.<br />

Nach Hilfssatz 4.9 ist S B = T t ST. Wenn wir für T also gerade die Matrix der Eigenvektoren<br />

nehmen, dann ist S B eine Diagonalmatrix mit den Eigenwerten in der Hauptdiagonale.<br />

Wir können den Eigenvektor v 2 dabei immer so orientieren, dass T = T(ϕ) einer<br />

Drehmatrix entspricht, also det T = 1.<br />

Die Eigenvektoren von S haben eine wichtige geometrische Bedeutung: Bei Ellipse und<br />

Hyperbel sind sie die Richtungsvektoren der Hauptachsen. Bei einer Parabel geben sie die<br />

Richtungen von Hauptachse und Leitlinie an.<br />

Im Beweis des Spektralsatzes (Satz 3.15, p.43) haben wir die Eigenwerte λ 1 , λ 2 und<br />

Eigenvektoren v 1 , v 2 einer symmetrischen 2 ×2 Matrix konkret angegeben. Dieses Resultat<br />

wollen wir hier auf die Matrix S anwenden.<br />

( )<br />

a 11 a 12<br />

S =<br />

a 12 a 22<br />

a 12 = 0 : λ 1 = a 11 , λ 2 = a 22 v 1 =<br />

(<br />

1<br />

0<br />

)<br />

, v 2 =<br />

a 12 ≠ 0 : λ 1/2 = a 11 + a 22 ± √ (a 11 − a 22 ) 2 + 4a 2 12<br />

2<br />

v i =<br />

(<br />

1<br />

√<br />

a<br />

2<br />

12 + (λ i − a 11 ) 2<br />

)<br />

a 12<br />

λ i − a 11<br />

Die Matrix T unserer gesuchten Bewegung hat also die Form T = (v 1 , v 2 ). Es bleibt die<br />

Frage nach einer geeigneten Wahl des Verschiebungsvektors b.<br />

Wenn der vorliegende Kegelschnitt einen Mittelpunkt M besitzt (Ellipse, Hyperbel),<br />

dann ist anschaulich klar, dass die Hauptlage K B (Y ) mit dem Ursprung als Mittelpunkt<br />

gerade um b = M verschoben werden muss. Eine Parabel hat keinen Mittelpunkt, aber<br />

einen Scheitel. Hier wählen wir für b den Scheitelpunkt, wodurch die Normalform mit<br />

Scheitel im Ursprung ebenfalls geeignet verschoben wird.<br />

Wenn wir b irgendwie berechnen können, liefert uns das Ergebnis den Mittelpunkt einer<br />

Ellipse oder Hyperbel bzw. den Scheitelpunkt einer Parabel. Wir unterscheiden jetzt zwei<br />

Fälle, je nachdem ob ein Mittelpunkt existiert oder nicht.<br />

(<br />

0<br />

1<br />

)


4.5. KEGELSCHNITTE 77<br />

Mittelpunktskegelschnitte<br />

Sei det S ≠ 0.<br />

Die Normalformenmatrizen von Ellipse und Hyperbel haben Diagonalgestalt. Das heißt,<br />

dass die Matrix B aus Hilfssatz 4.9 eine Diagonalmatrix werden soll. S B konnten wir mittels<br />

Spektralsatz eben in Diagonalgestalt bringen. Wir haben damit folgende Situation:<br />

S B =<br />

(<br />

)<br />

λ 1 0<br />

0 λ 2<br />

B =<br />

(<br />

S B T t (Sb + a)<br />

(Sb + a) t T b t (Sb + a) + a t b + α<br />

wobei T = (v 1 , v 2 ) eine orthogonale Matrix ist. Da die Determinante invariant gegenüber<br />

Basiswechsel ist (Satz 3.5, p.30), gilt nach unserer Voraussetzung 0 ≠ det S = det S B =<br />

λ 1 · λ 2 und somit λ 1 ≠ 0, λ 2 ≠ 0.<br />

Damit B eine Diagonalmatrix wird, muss T t (Sb + a) = O gelten. Können wir b so<br />

wählen, dass dies zutrifft? Unter der Voraussetzung det S ≠ 0 ist dies möglich, da dann S<br />

invertierbar ist (Satz 3.4, p.29):<br />

T t (Sb + a) = O T ·<br />

TT t (Sb + a) = O T t = T −1<br />

Sb + a = O<br />

Sb = −a S −1 existiert<br />

b = −S −1 a<br />

Geometrisch haben wir mit dieser Wahl von b den Mittelpunkt eines Kegelschnitts<br />

berechnet.<br />

Definition 4.17 Sei K eine nichtleere Teilmenge eines Vektorraums V. Ein Punkt M ∈ V<br />

heißt Mittelpunkt von K, wenn für alle u ∈ V gilt:<br />

M + u ∈ K ⇒ M − u ∈ K<br />

Bemerkung 4.4 Sei K eine Kurve zweiten Grades mit det S ≠ 0. Dann hat K genau<br />

einen Mittelpunkt M = −S −1 a.<br />

Beweis. Für einen Mittelpunkt von K mit der Gleichung k(X) = X t SX + 2a t X + α = 0<br />

gilt nach Defintion 4.17: M + u ∈ K ⇒ M − u ∈ K, also k(M + u) = 0 ⇒ k(M − u) = 0.<br />

Für jeden Mittelpunkt M muss damit k(M +u) = k(M −u) gelten. Versuchen wir nun aus<br />

diesem Ansatz Mittelpunkte zu berechnen. Dabei verwenden wir aufgrund der Symmetrie<br />

von S die Tatsache u t SM = M t Su (Bemerkung 3.8, p.42).<br />

k(M + u) = (M + u) t S(M + u) + 2a t (M + u) + α<br />

= M t SM + u t SM + M t Su + u t Su + 2a t M + 2u t a + α<br />

= M t SM + 2u t SM + u t Su + 2a t M + 2u t a + α<br />

k(M − u) = (M − u) t S(M − u) + 2a t (M − u) + α<br />

)<br />

,


78 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

= M t SM − u t SM − M t Su + u t Su + 2a t M − 2u t a + α<br />

= M t SM − 2u t SM + u t Su + 2a t M − 2u t a + α<br />

k(M + u) = k(M − u)<br />

u t SM = u t (−a)<br />

SM = −a<br />

M = −S −1 a<br />

Der letzte Schritt setzt voraus, dass S invertierbar ist, also det S ≠ 0 gilt.<br />

Für den letzten noch fehlenden Eintrag der Matrix B, den wir kurz β := b 33 nennen<br />

wollen, ergibt sich nun durch Einsetzen von b:<br />

β = b t (Sb + a) + a t b + α = b t O + a t b + α = 〈a, b〉 + α.<br />

Insgesamt kommen wir so durch die Bewegung X = T · Y + b, mit T = (v 1 , v 2 ) und<br />

b = M = −S −1 a, zur Kurve K B (Y ) mit der Matrix<br />

⎛ ⎞<br />

λ 1 0 0<br />

⎜ ⎟<br />

B = ⎝ 0 λ 2 0 ⎠,<br />

0 0 β<br />

wobei λ 1 , λ 2 die Eigenwerte von S und β = 〈a, b〉 + α sind. Die Gleichung von K B lautet<br />

λ 1 x 2 + λ 2 y 2 + β = 0. Dies ist die Gleichung der Kurve K A relativ zum Koordinatensystem<br />

der Eigenvektoren mit dem Mittelpunkt des Kegelschnitts als Ursprung. Wir unterscheiden<br />

nun danach, ob β verschwindet oder nicht.<br />

✷<br />

Uneigentliche Mittelpunktskegelschnitte<br />

Sei β = 0. Dann hat K B (X) die Gleichung λ 1 x 2 + λ 2 y 2 = 0. Durch eine Normierung<br />

erhalten wir die Kurve K B ′ = K B mit<br />

⎛ ⎞<br />

λ 1<br />

B ′ λ<br />

⎜ 2<br />

0 0<br />

⎟<br />

= ⎝ 0 1 0 ⎠ .<br />

0 0 0<br />

Wir sind von der Matrix A mittels einer Bewegung zur Matrix B und durch eine<br />

Normierung schließlich zur Matrix B ′ gekommen. Nach dem Hilfssatz 4.10, p.74 über Kurveninvarianten<br />

sind die Vorzeichen von det S und spurS · det A invariant gegenüber Bewegungen<br />

und Normierungen. Da det A invariant gegenüber Bewegungen ist, gilt zudem<br />

det A = 0 ⇔ det B ′ = 0 (Folgerung 4.4, p.75). Für uns heißt das:<br />

sgn(det S) = sgn(λ 1 · λ 2 )<br />

sgn(spurS · det A) = sgn((λ 1 + λ 2 )(λ 1 · λ 2 · β))<br />

det A = 0 ⇔ det B ′ = 0


4.5. KEGELSCHNITTE 79<br />

Wir unterscheiden nun die möglichen Lösungsmengen der Gleichung λ 1<br />

λ 2<br />

x 2 +y 2 = 0 von<br />

K B ′ nach dem Vorzeichen des Koeffizienten. Gleichzeitig geben wir die Kurveninvarianten<br />

an.<br />

λ 1<br />

λ 2<br />

det A det S spurS · det A Kurve<br />

(1) + 0 + 0 Punkt<br />

(2) − 0 − 0 Geradenpaar mit Schnittpunkt<br />

Im Fall (1) löst nur der Nullpunkt Y = O des Koordinatensystems der Hauptachsen<br />

die Gleichung k B ′ = 0. Wegen X = TY + M ist dies gerade der Punkt X = M im<br />

Standardkoordinatensystem. Die Gleichung x 2 + y 2 − 4x − 2y + 5 = 0 hat beispielsweise<br />

nur den Punkt M(2, 1) als Lösung.<br />

Im Fall (2) erhalten wir aus der Gleichung y 2 = − λ 1<br />

λ 2<br />

x 2 von K B ′ die beiden Geradengleichungen<br />

y = ± − λ 1<br />

√<br />

( √<br />

λ 2<br />

x mit den Parameterdarstellungen Y = ±µ · 1, − λ 1<br />

λ 2<br />

). Diese Gleichungen<br />

sind relativ zum Koordinatensystem der Eigenvektoren mit M = b als Ursprung<br />

zu verstehen. Die entsprechenden Geraden im Standardkoordinatensystem bekommen wir<br />

mittels unserer Bewegung X = TY + M als<br />

g 1/2 : X = M ± µ · T<br />

( )<br />

√ 1<br />

− λ .<br />

1<br />

λ 2<br />

Wir haben hier ein Geradenpaar vorliegen, das sich im Mittelpunkt schneidet. Die Geraden<br />

x 2 − 6xy + y 2 + 18x − 22y + 49 = 0 in Abbildung 4.19 schneiden sich beispielsweise im<br />

Punkt M(−3, 2).<br />

Abbildung 4.19: Geradenpaar: x 2 − 6xy + y 2 + 18x − 22y + 49 = 0


80 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Ellipse, Hyperbel<br />

Sei nun β ≠ 0. Durch eine Normierung mit 1 kommen wir den Normalformen von Ellipse<br />

−β<br />

und Hyperbel schon sehr nahe. K B ′ hat jetzt die Gleichung λ 1<br />

−β x2 + λ 2<br />

−β y2 = 1.<br />

⎛ ⎞<br />

λ 1<br />

B ′ = 1<br />

0 0<br />

−β<br />

−β B = ⎜ λ<br />

⎝ 0 2<br />

⎟<br />

0<br />

−β<br />

⎠<br />

0 0 −1<br />

Wir betrachten wiederum die möglichen Vorzeichen der Koeffizienten von K B ′<br />

geben dabei die Kurveninvarianten an:<br />

und<br />

λ 1<br />

−β<br />

λ 2<br />

−β<br />

det A det S spurS · det A Kurve<br />

(3) + + ≠ 0 + − Ellipse<br />

(4) + − ≠ 0 − beliebig Hyperbel<br />

(4a) − + ≠ 0 − beliebig Hyperbel<br />

(5) − − ≠ 0 + + ∅<br />

Im Fall (3) bekommen wir die Normalform einer Ellipse<br />

x 2<br />

a + y2<br />

= 1, a ≥ b,<br />

2 b2 indem wir 1 := λ a 2 1<br />

und 1 := λ −β b 2 2<br />

setzen. Da wir a ≥ b fordern, muss λ 1<br />

≤ λ 2<br />

gelten. Dies<br />

−β −β −β<br />

erreichen wir durch eventuelles Vertauschen der Eigenwerte. Aus der Normalform können<br />

wir jetzt wichtige geometrische Größen einfach ablesen. Dies ist mit ein wesentlicher Grund,<br />

warum wir versucht haben, auf diese Normalform zu kommen.<br />

√<br />

−β<br />

√<br />

−β<br />

λ 2<br />

. Für a = b erhal-<br />

Die Halbachsenlängen sind gegeben durch a =<br />

λ 1<br />

und b =<br />

ten wir übrigens einen Kreis. Die Exzentrizität einer Ellipse erhalten wir daraus mittels<br />

e = √ a 2 − b 2 . Die Brennpunkte liegen auf der ersten Hauptachse und haben die Koordinaten<br />

F 1/2 = (∓e, 0) relativ zum Koordinatensystem der Eigenvektoren. Mittels unserer<br />

gefundenen Bewegung X = TY + M rechnen wir diese in Standardkoordinaten um:<br />

F 1/2 = T ·<br />

(<br />

∓e<br />

0<br />

)<br />

+ M = (v 1 , v 2 ) ·<br />

(<br />

∓e<br />

0<br />

)<br />

+ M = M ∓ e · v 1<br />

Der erste Eigenvektor v 1 gibt die Richtung der ersten Hauptachse an. Die Brennpunkte<br />

bekommen wir also, indem wir vom Mittelpunkt aus die Exzentrizität auf der ersten<br />

Hauptachse abtragen. In ähnlicher Weise berechnen wir die vier Scheitelpunkte einer Ellipse:<br />

S 1/2 = M ± a · v 1 S 3/4 = M ± b · v 2<br />

Die Gleichung 25x 2 + 14xy + 25y 2 + 28x + 100y − 188 = 0 stellt beispielsweise eine<br />

Ellipse dar (siehe Abbildung 4.18, p.73).


4.5. KEGELSCHNITTE 81<br />

Im Fall (4) liegt eine Hyperbel in Normalform vor:<br />

x 2<br />

a 2 − y2<br />

b 2 = 1,<br />

indem wir 1 := λ a 2 1<br />

und − 1 := λ −β b 2 2<br />

setzen.<br />

−β<br />

√ √<br />

−β<br />

β<br />

Die Halbachsenlängen sind gegeben durch a =<br />

λ 1<br />

und b =<br />

λ 2<br />

. Die Exzentrizität<br />

einer Hyperbel erhalten wir daraus mittels e = √ a 2 + b 2 . Die Brennpunkte und Scheitel<br />

werden wie bei der Ellipse in Fall (3) berechnet. Allerdings besitzt eine Hyperbel nur die<br />

beiden ersten Scheitelpunkte S 1 , S 2 . Die Lösungsmenge der Gleichung 7x 2 + 50xy + 7y 2 +<br />

78x + 144y + 423 = 0 ist die Hyperbel in Abbildung 4.20.<br />

Abbildung 4.20: Hyperbel: 7x 2 + 50xy + 7y 2 + 78x + 144y + 423 = 0<br />

Fall (4a) können wir durch Vertauschen der Eigenwerte auf Fall (4) zurückführen. Wir<br />

fordern damit λ 1<br />

> 0 > λ 2<br />

.<br />

−β −β<br />

Fall (5) stellt den entarteten Fall der leeren Menge dar, da es hier keine reellen Punkte<br />

als Lösungen gibt. Die Gleichung x 2 + y 2 − 4x − 2y + 6 = 0 ist ein Beispiel hierfür.<br />

Wir haben damit gezeigt, wie man mittels einer Bewegung und Normierung einer allgemeinen<br />

Ellipsen- bzw. Hyperbelgleichung zur entsprechenden Normalform kommen kann.<br />

Weiters haben wir soeben auch eine Charakterisierung für Ellipsen und Hyperbeln mit<br />

Hilfe der Kurveninvarianten gefunden.<br />

Satz 4.11 Sei K A eine Kurve zweiten Grades, dann gilt:<br />

K A ist eine Ellipse ⇔ detS > 0 und spurS · det A < 0<br />

K A ist eine Hyperbel ⇔ detS < 0 und det A ≠ 0


82 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Parabolische Kegelschnitte<br />

Sei jetzt det S = 0. In diesem Fall erhalten wir besonders einfache Eigenwerte und Eigenvektoren:<br />

( )<br />

a 11 a 12<br />

S =<br />

a 12 a 22<br />

a 12 = 0 : λ 1 = a 11 , λ 2 = a 22 v 1 =<br />

a 12 ≠ 0 : λ 1 = 0, λ 2 = a<br />

( 11 + a 22<br />

1<br />

v 1 = √<br />

a 2<br />

11 +a 2 12<br />

(<br />

1<br />

0<br />

)<br />

)<br />

a 12<br />

, v 2 = √<br />

1<br />

−a 11 a 2<br />

11 +a 2 12<br />

, v 2 =<br />

(<br />

(<br />

0<br />

1<br />

)<br />

a 11<br />

a 12<br />

Einer der beiden Eigenwerte ist hier stets null. Durch eventuelles Vertauschen der Eigenwerte<br />

im Fall a 12 = 0 können wir λ 1 = 0 und λ := λ 2 = a 11 + a 22 annehmen. Da S<br />

ungleich der Nullmatrix ist (Definition 4.16, p.72), gilt 0 ≠ spurS = a 11 + a 12 = λ, also<br />

λ ≠ 0.<br />

Wir haben damit folgende Situation:<br />

S B = T t ST =<br />

(<br />

0 0<br />

0 λ<br />

)<br />

B =<br />

(<br />

)<br />

S B T t (Sb + a)<br />

(Sb + a) t T b t (Sb + a) + a t b + α<br />

wobei T = (v 1 , v 2 ) eine orthogonale Matrix ist. Bei den Mittelpunktskegelschnitten konnten<br />

wir den Verschiebungsvektor b direkt aus dem Ansatz T t (Sb + a) = O berechnen. Dies ist<br />

hier jedoch nicht möglich, da(<br />

S wegen ) det S = 0 nicht invertierbar ist (Satz 3.4, p.29). Wir<br />

können jedoch T t c 1<br />

(Sb + a) = erreichen, wie wir gleich sehen werden.<br />

0<br />

( )<br />

( )<br />

c 1<br />

Seien dazu c = := T t τ<br />

a und b := T<br />

c 2 − c , dann gilt:<br />

2<br />

λ<br />

)<br />

,<br />

T t (Sb + a) = T t Sb + T t a<br />

( )<br />

= T t τ<br />

ST<br />

− c + c<br />

2<br />

λ<br />

( ) (<br />

0 0<br />

=<br />

0 λ<br />

) (<br />

τ<br />

− c +<br />

2<br />

λ<br />

) (<br />

c 1<br />

=<br />

c 2<br />

c 1<br />

0<br />

)<br />

.<br />

τ ist vorerst<br />

(<br />

eine<br />

)<br />

beliebige reelle<br />

(<br />

Zahl.<br />

)<br />

Bestimmen wir zunächst β := b 33 durch Einsetzen<br />

t<br />

τ<br />

von b = T<br />

− c und b t τ<br />

=<br />

2<br />

λ<br />

− c T t .<br />

2<br />

λ<br />

β = b t (Sb + a) + a t b + α<br />

= b t Sb + 2b t a + α


4.5. KEGELSCHNITTE 83<br />

=<br />

=<br />

(<br />

(<br />

) t (<br />

τ<br />

− c T t ST<br />

2<br />

λ<br />

) t (<br />

τ<br />

− c 2<br />

λ<br />

0 0<br />

0 λ<br />

) (<br />

τ<br />

− c + 2<br />

2<br />

λ<br />

)( )<br />

τ<br />

− c + 2<br />

2<br />

λ<br />

) t<br />

τ<br />

− c T t a + α<br />

2<br />

λ<br />

( ) t (<br />

τ<br />

− c 2<br />

λ<br />

)<br />

c 1<br />

+ α<br />

c 2<br />

= c2 2<br />

λ + 2c 1τ − 2 c2 2<br />

λ + α<br />

= − c2 2<br />

λ + 2c 1τ + α<br />

Durch die vorhin angegebene Wahl des Verschiebungsvektors b kommen wir durch eine<br />

Bewegung zur Kurve K B mit der Gleichung λy 2 + 2c 1 x + β = 0.<br />

⎛ ⎞<br />

0 0 c 1<br />

⎜ ⎟<br />

B = ⎝ 0 λ 0 ⎠<br />

c 1 0 β<br />

Bevor wir die verschiedenen möglichen Fälle für c 1 und β unterscheiden, berechnen wir<br />

die Kurveninvarianten. Die ersten beiden angegebenen Ausdrücke sind invariant gegenüber<br />

Bewegungen, der dritte zusätzlich gegenüber Normierungen.<br />

spurS = λ<br />

det A = λ · (β − c 2 1 )<br />

sgn(spurS · det A) = sgn(λ 2 · (β − c 2 1 )) = sgn(β − c2 1 )<br />

Durch geeignete Wahl von τ können wir die Matrix B noch weiter vereinfachen. Wir<br />

unterscheiden dabei, ob c 1 verschwindet oder nicht.<br />

Uneigentliche parabolische Kegelschnitte<br />

Sei c 1 = 0. Dann wählen wir für τ := 0, also b = T<br />

B =<br />

⎛<br />

⎜<br />

⎝<br />

0 0 0<br />

0 λ 0<br />

0 0 β<br />

⎞<br />

⎟<br />

⎠<br />

(<br />

)<br />

0<br />

− c und erhalten<br />

2<br />

λ<br />

mit β = − c2 2<br />

λ<br />

+ α. Durch eine Normierung kommen wir zur Gleichung y 2 + β λ<br />

die folgenden entarteten Fälle darstellt:<br />

= 0, welche<br />

β<br />

λ<br />

det A det S spurS · det A Kurve<br />

(6) + 0 0 0 ∅<br />

(7) 0 0 0 0 Doppelgerade<br />

(8) − 0 0 0 2 parallele Geraden


84 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Im Fall (6) haben wir keine reellen Lösungen und somit die leere Menge. Ein Beispiel<br />

hierzu ist x 2 − 2xy + y 2 − 2x + 2y + 3 = 0.<br />

Fall (7) entspricht der Gleichung y 2 = 0, also der Doppelgeraden g : y = ±0 im<br />

Koordinatensystem der Eigenvektoren mit der Parameterdarstellung g : Y = µ · (1, 0).<br />

Mittels der Bewegung X = TY +b kommen wir zur Gleichung der entsprechenden Gerade<br />

in Standardkoordinaten.<br />

( ( ))<br />

1<br />

g : X = T µ + b<br />

= µT<br />

(<br />

1<br />

0<br />

= µ(v 1 , v 2 )<br />

0<br />

)<br />

(<br />

+ T<br />

1<br />

0<br />

)<br />

(<br />

)<br />

0<br />

− c 2<br />

λ<br />

+ (v 1 , v 2 )<br />

(<br />

)<br />

0<br />

− c 2<br />

λ<br />

= µv 1 − c 2<br />

λ v 2<br />

Ein Beispiel für eine Doppelgerade ist x 2 − 2xy + y 2 − 2x + 2y + 1 = 0 (siehe Abbildung<br />

4.21).<br />

Abbildung 4.21: Doppelgerade: x 2 − 2xy + y 2 − 2x + 2y + 1 = 0<br />

√<br />

Fall (8) liefert zwei parallele Geraden g 1/2 : y = ± − β mit der Parameterdarstellung<br />

λ<br />

√<br />

g : Y = ±(0, − β ) + µ(1, 0). Wir rechnen diese wieder in Standardkoordinaten um.<br />

λ<br />

g 1/2 : X = T · Y + b<br />

( (<br />

0<br />

= T ±<br />

√<br />

= (v 1 , v 2 )<br />

= ±<br />

√<br />

(<br />

±<br />

− β λ<br />

)<br />

+ µ<br />

(<br />

0<br />

√<br />

− β λ<br />

)<br />

(<br />

1<br />

0<br />

+ µ<br />

))<br />

(<br />

− β λ · v 2 + µ · v 1 − c 2<br />

λ · v 2<br />

1<br />

0<br />

+ T<br />

))<br />

(<br />

)<br />

0<br />

− c 2<br />

λ<br />

+ (v 1 , v 2 )<br />

(<br />

)<br />

0<br />

− c 2<br />

λ


4.5. KEGELSCHNITTE 85<br />

=<br />

(<br />

− c 2<br />

λ ± √− β λ<br />

)<br />

· v 2 + µ · v 1<br />

Die in Abbildung 4.22 dargestellten paralleln Geraden sind die Lösungsmenge der Gleichung<br />

x 2 − 2xy + y 2 − 2 = 0.<br />

Abbildung 4.22: Parallele Geraden: x 2 − 2xy + y 2 − 2 = 0<br />

Parabel<br />

Sei jetzt c 1 ≠ 0. Dann können wir τ so wählen, dass β = 0 gilt:<br />

β = − c2 2<br />

λ + 2c 1τ + α = 0<br />

τ :=<br />

Mittels b = T<br />

B =<br />

⎛<br />

⎜<br />

⎝<br />

c 2 2<br />

λ<br />

− α<br />

2c 1<br />

(<br />

0 0 c 1<br />

0 λ 0<br />

c 1 0 0<br />

)<br />

τ<br />

− c erhalten wir die Kurve K<br />

2 B mit<br />

λ<br />

⎞<br />

⎟<br />

⎠ .<br />

Durch eine Normierung B ′ = 1 B kommen wir der Normalform einer Parabel schon<br />

λ<br />

sehr nahe. K B ′ hat die Gleichung y 2 + 2 c 1<br />

λ<br />

x = 0.<br />

B ′ = 1 λ B = ⎛<br />

⎜<br />

⎝<br />

0 0 c 1<br />

λ<br />

0 1 0<br />

c 1λ<br />

0 0<br />

⎞<br />

⎟<br />

⎠<br />

Eine Fallunterscheidung des Parameters liefert uns zu guter Letzt die Parabel.<br />

c 1λ<br />

det A det S spurS · det A Kurve<br />

(9) − ≠ 0 0 − Parabel<br />

(9a) + ≠ 0 0 − Parabel


86 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Im Fall (9) bekommen wir die Normalform einer Parabel<br />

y 2 = 2px, p > 0,<br />

indem wir den Parameter p := − c 1<br />

λ<br />

setzen. Der Scheitelpunkt der Normalform ist der<br />

Ursprung und hat daher die Standardkoordinaten<br />

( ) ( )<br />

τ<br />

c 2<br />

2 −λα<br />

S = b =<br />

− c =<br />

2c 1 .<br />

2<br />

2<br />

− c 2<br />

2<br />

Berechnen wir nun noch Brennpunkt und Leitgerade.<br />

)<br />

F = T<br />

(<br />

p<br />

2<br />

0<br />

+ b = S + p 2 · v 1<br />

mit der Parameterdar-<br />

Die Leitgerade der Normalform hat die Gleichung l : x = − p 2<br />

stellung l : Y = (0, − p ) + µ(0, 1).<br />

2<br />

(( ) ( ))<br />

− p 0<br />

l : X = T ·<br />

2<br />

+ µ + b<br />

0 1<br />

= S − p 2 · v 1 + µ · v 2<br />

Ein Beispiel einer Parabel liefert die Gleichung 4x 2 + 4xy + y 2 + 3x + 5y + 1 = 0 in<br />

Abbildung 4.23.<br />

Abbildung 4.23: Parabel: 4x 2 + 4xy + y 2 + 3x + 5y + 1 = 0<br />

Den Fall (9a) können wir auf (9) zurückführen, wenn wir die Matrix T durch -T ersetzen.<br />

Es war ja c = T t a. Geometrisch ändern wir damit die Orientierung beider Eigenvektoren.<br />

Auf die Berechnung des Verschiebungsvektors b, welcher dem Scheitelpunkt der Parabel<br />

entspricht, hat dieser Vorzeichenwechsel übrigens keine Auswirkung.<br />

Satz 4.12 Sei K A eine Kurve zweiten Grades, dann gilt:


4.5. KEGELSCHNITTE 87<br />

K A ist eine Parabel ⇔ detS = 0 und det A ≠ 0<br />

Damit haben wir alle Kurven zweiten Grades unterschieden. Der folgende Satz ergibt<br />

sich aus unseren gerade gemachten Überlegungen.<br />

Satz 4.13 Jede Gleichung zweiten Grades kann durch eine Bewegung in die Normalform<br />

der Gleichung zweiten Grades<br />

b 11 x 2 + b 22 y 2 + 2b 13 x + b 33 = 0<br />

mit den Nebenbedingungen<br />

b 22 ≠ 0, b 11 b 13 = 0, b 13 ≤ 0<br />

gebracht werden.<br />

Klassifikation der Kurven zweiten Grades<br />

Fassen wir nun die Ergebnisse dieses Abschnitts in einer übersichtlichen Einteilung der<br />

Kurven zweiten Grades zusammen. Die folgende Tabelle gibt eine Klassifikation aller ebenen<br />

Kurven zweiten Grades mit Hilfe von Kurveninvarianten (vgl. Hilfssatz 4.10, p.74).<br />

Die Matrizen A und S sind gemäß Definition 4.16, p.72 zu verstehen.<br />

Kurve<br />

det A det S spurS · det A Normalform<br />

(1) Punkt 0 + 0<br />

λ 1<br />

λ 2<br />

x 2 + y 2 = 0, λ 1<br />

λ 2<br />

> 0<br />

(2) Geradenpaar mit 0 − 0<br />

λ 1<br />

λ 2<br />

x 2 + y 2 = 0, λ 1<br />

λ 2<br />

< 0<br />

Schnittpunkt<br />

x<br />

(3) Ellipse ≠ 0 + − 2<br />

+ y2<br />

= 1, a ≥ b<br />

a 2 b 2<br />

(4) Hyperbel ≠ 0 − beliebig<br />

x 2<br />

a 2 − y2<br />

b 2 = 1<br />

x<br />

(5) ∅ ≠ 0 + + 2<br />

+ y2<br />

= −1<br />

a 2 b 2<br />

(6) ∅ 0 0 0 y 2 + β = 0, β > 0<br />

λ λ<br />

(7) Doppelgerade 0 0 0 y 2 = 0<br />

(8) 2 parallele Geraden 0 0 0 y 2 + β = 0, β < 0<br />

λ λ<br />

(9) Parabel ≠ 0 0 − y 2 = 2px, p > 0<br />

Die Kurven (3), (4) und (9) stellen die eigentlichen Kegelschnitte dar, alle übrigen die<br />

uneigentlichen. Wir sehen auch, dass nur die uneigentlichen parabolischen Kegelschnitte<br />

(6), (7) und (8) nicht allein durch die angegebenen Invarianten unterschieden werden<br />

können. In diesen drei Fällen betrachten wir zusätzlich das Vorzeichen von β (vgl. p.83).<br />

λ


88 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

4.5.4 Schnitt mit einer Geraden<br />

In diesem Abschnitt werden wir das Schnittverhalten eines Kegelschnittes mit einer Geraden<br />

betrachten. Mit Hilfe der dabei auftretenden Schnittpunktgleichung können wir die<br />

möglichen Lagebeziehungen eines Kegelschnitts und einer Geraden definieren.<br />

Seien ein Kegelschnitt K : X t SX + 2a t X + α = 0 (vgl. Abschnitt 4.5.2, p.71) und eine<br />

Gerade g : X = P + λv gegeben. Wir schneiden nun K und g, indem wir die Parameterdarstellung<br />

der Geraden in die Kegelschnittgleichung einsetzen.<br />

(P + λv) t S(P + λv) + 2a t (P + λv) + α = 0<br />

P t SP + λv t SP + λP t Sv + λ 2 v t Sv + 2a t P + 2λa t v + α = 0<br />

Da S eine symmetrische Matrix ist, gilt v t SP = P t Sv (Bemerkung 3.8, p.42), und wir<br />

erhalten eine quadratische Gleichung für λ.<br />

λ 2 (v t Sv) + 2λ(P t Sv + a t v) + (P t SP + 2a t P + α) = 0<br />

Durch Abkürzung der Koeffizienten kommen wir zur sogenannten Schnittpunktgleichung<br />

von K und g:<br />

λ 2 u + 2λd + w = 0 mit<br />

u := v t Sv<br />

d := P t Sv + a t v<br />

w := P t SP + 2a t P + α = k(P)<br />

Wir unterscheiden nun die in der Schnittpunktgleichung auftretenden Fälle.<br />

1. u = 0 : Die Schnittpunktgleichung hat hier die Form 2λd + w = 0.<br />

(a) d = w = 0 : Alle λ ∈ R sind Lösungen. Es liegt also die gesamte Gerade g auf<br />

K. g heißt dann Erzeugende von K.<br />

(b) d = 0, w ≠ 0 : Kein λ ∈ R ist Lösung und damit g ∩ K = ∅. g heißt hier<br />

Asymptote von K.<br />

(c) d ≠ 0 : Es gibt genau eine Lösung λ = − w und daher genau einen Schnittpunkt<br />

2d<br />

von g und K. g heißt dann einfache Treffgerade oder asymptotische Sekante von<br />

K.<br />

2. u ≠ 0 : Wir bezeichnen ∆ := d 2 − uw als Diskrimante der Schnittpunktgleichung.<br />

Als Lösungen für die quadratische Gleichung λ 2 u + 2λd + w = 0 erhalten wir<br />

λ 1/2 = −2d ± √ 4d 2 − 4uw<br />

2u<br />

= −d ± √ d 2 − uw<br />

u<br />

= −d ± √ ∆<br />

.<br />

u<br />

Wir unterscheiden nun nach dem Vorzeichen der Diskriminante.


4.5. KEGELSCHNITTE 89<br />

(a) ∆ = 0 : Es gibt genau eine Lösung λ = − d , die doppelt gezählt wird, weil<br />

u<br />

das Polynom in zwei gleiche Linearfaktoren uλ + d zerfällt. Die Gerade g heißt<br />

dann Tangente von K. Der einzige (doppelt zu zählende) Schnittpunkt heißt<br />

Berührpunkt von g mit K.<br />

(b) ∆ > 0 : Es gibt genau zwei verschiedene Lösungen<br />

λ 1 = −d + √ ∆<br />

, λ 2 = −d − √ ∆<br />

u<br />

u<br />

und damit genau zwei verschiedene Schnittpunkte von g und K. Die Gerade g<br />

heißt in diesem Fall Sekante von K.<br />

(c) ∆ < 0: Es gibt keine Lösung λ ∈ R, also g ∩ K = ∅. Die Gerade g heißt hier<br />

Passante von K.<br />

Fassen wir die genannten Begriff in einer Definition zusammen.<br />

Definition 4.18 Seien K : X t SX + 2a t X + α = 0 ein Kegelschnitt und g : X = P + λv<br />

eine Gerade des R 2 . Dann heißt λ 2 u + 2λd + w = 0 Schnittpunktgleichung von K und g,<br />

wobei u = v t Sv, d = P t Sv + a t v und w = P t AP + 2a t P + α sind. Weiters nennen wir<br />

∆ := d 2 − uw Diskriminante der Schnittpunktgleichung.<br />

Die Lagebeziehungen von g und K unterscheiden wir entsprechend folgender Tabelle:<br />

g ist . . . von K unter der Bedingung<br />

Erzeugende u = 0, d = 0, w = 0<br />

Asymptote u = 0, d = 0, w ≠ 0<br />

einfache Treffgerade u = 0, d ≠ 0<br />

Tangente u ≠ 0, ∆ = 0<br />

Sekante u ≠ 0, ∆ > 0<br />

Passante u ≠ 0, ∆ < 0<br />

Beispiel. Betrachten wir die Parabel K : y 2 − 4x = 0 (Abbildung 4.24). Die Gerade<br />

p : x−y +3 = 0 ist eine Passante und schneidet K nicht. t : x−y +1 = 0 ist eine Tangente<br />

der Parabel und berührt sie im Punkt T = (1, 2). Die Gerade s : x − y = 0 schneidet die<br />

Parabel in den Punkten S 1 = (0, 0) sowie S 2 = (4, 4) und stellt damit eine Sekante von<br />

K dar. Besonders interessant ist die Gerade g. Sie schneidet die Parabel nur im Punkt<br />

S 3 = (4, −4), ist jedoch keine Tangente, sondern eine einfache Treffergerade.<br />

Es fehlen uns nun nur mehr Beispiele für Erzeugende und Asymptoten. Beides finden<br />

wir in Abbildung 4.25. Dort sind die Hyperbel 9x 2 − 16y 2 − 144 = 0 sowie die beiden<br />

Geraden g : 3x − 4y = 0 und h : 3x + 4y = 0 dargestellt. g und h sind Asymptoten<br />

der Hyperbel. Andererseits können wir das Geradenpaar g ∪ h auch als uneigentlichen<br />

Kegelschnitt auffassen. In diesem Fall sind g und h Erzeugende von g ∪ h.


90 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Abbildung 4.24: Schnitt einer Parabel mit Geraden<br />

4.5.5 Asymptoten einer Hyperbel<br />

Wir wollen uns nun überlegen, wie man alle Asymptoten einer Hyperbel bekommt. Dazu<br />

gehen wir von ihrer Hauptlage aus.<br />

Bemerkung 4.5 Eine Hyperbel hyp : x2<br />

a 2 − y2<br />

b 2 = 1; a, b > 0 in Hauptlage hat genau zwei<br />

Asymptoten mit den Gleichungen as 1 : bx − ay = 0 und as 2 : bx + ay = 0.<br />

Beweis. Unsere Hyperbel hat die Gleichung hyp : X t SX + 2a t X + α = 0 mit<br />

S =<br />

( )<br />

1<br />

0<br />

a 2 1<br />

0<br />

b 2<br />

, a = O, α = −1.<br />

Nach Definition 4.18 muss eine Asymptote as : X = P + λv die Bedingungen u = 0, d = 0<br />

und w ≠ 0 für die Koeffizienten der Schnittpunktgleichung erfüllen. Für P = (p x , p y ) und<br />

v = (v x , v y ) erhalten wir damit:<br />

u = 0 = v t Sv<br />

= (v x , v y )<br />

= v2 x<br />

a − v2 y<br />

2 b 2<br />

b 2 v1 2 = a 2 v2 2 .<br />

(<br />

1<br />

)(<br />

0<br />

a 2 1<br />

0<br />

b 2<br />

)<br />

v x<br />

v y<br />

Eine Asymptote muss also eine der beiden Richtungen v = (a, ±b) haben. Betrachten wir<br />

damit die zweite Bedingung:<br />

d = 0 = P t Sv + a t v


4.5. KEGELSCHNITTE 91<br />

10<br />

5<br />

-15 -10 -5 5 10 15<br />

-5<br />

-10<br />

Abbildung 4.25: Hyperbel mit Asymptoten<br />

bp x<br />

= P t Sv + O t v<br />

= (p x , p y )<br />

= p x<br />

a ∓ p y<br />

b<br />

= ±ap y<br />

(<br />

1<br />

0<br />

a 2 1<br />

0<br />

b 2 )(<br />

a<br />

±b<br />

)<br />

+ 0<br />

Daraus ergibt sich, dass P = O sein muss. Ist damit auch die dritte Bedingung erfüllt?<br />

w = P t SP + 2a t P + α<br />

= O t SO + 2O t O + (−1)<br />

= −1 ≠ 0<br />

Es gibt daher genau zwei Geraden, die Asymptoten von hyp sind, nämlich as 1 : X =<br />

O+λ(a, b) und as 2 : X = O+λ(a, −b). Mittels Normalvektorform (Definition 4.8) erhalten<br />

wir die oben angeführten Gleichungen.<br />

✷<br />

Durch eine Bewegung erhalten wir so auch die Asymptoten einer Hyperbel in allgemeiner<br />

Lage.<br />

Folgerung 4.5 Sei hyp(X) eine Hyperbel in allgemeiner Lage mit den Halbachsenlängen<br />

a, b. Sei weiters X = TY + M eine Bewegnung, sodass hyp(Y ) in Hauptlage ist. hyp(X)<br />

hat genau zwei Asymptoten mit den Gleichungen<br />

as 1/2 : 〈 −−→ MX, T<br />

(<br />

±b<br />

a<br />

)<br />

〉 = 0.<br />

Beweis. Sei X ein Punkt der Hyperbel hyp(X). Mittels der Bewegung X = TY + M<br />

erhalten wir die Punkte Y ihrer Hauptlage hyp(Y ). T = (v 1 , v 2 ) ist dabei die orthogonale


92 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Matrix der Eigenvektoren v 1 , v 2 und M der Mittelpunkt der Hyperbel (vgl. Klassifikation<br />

der Kegelschnitte 4.5.3). Nach Bemerkung 4.5 sind die Asymptoten der Hauptlage as 1/2 :<br />

〈Y, (±b, a)〉 = 0.<br />

Mit Hilfe der angegebenen Bewegung rechnen wir diese Gleichungen in Standarkoordinaten<br />

um. Eine orthogonale Matrix ist invertierbar (Satz 3.11, p.36) und lässt das<br />

innere Produkt invariant (Definition 3.26, p.36). Wegen X = TY + M gilt zunächst<br />

Y = T −1 (X − M) = T −1 −−→ MX und damit<br />

as 1/2 :<br />

〈Y,<br />

(<br />

(<br />

〈T −1 −−→ MX,<br />

(<br />

〈TT −1 −−→ MX, T<br />

(<br />

〈 −−→ MX, T<br />

±b<br />

a<br />

±b<br />

a<br />

±b<br />

a<br />

±b<br />

a<br />

)<br />

)<br />

)<br />

)<br />

〉 = 0<br />

〉 = 0<br />

〉 = 0<br />

〉 = 0.<br />

✷<br />

4.5.6 Tangenten und Polare<br />

Tangenten durch einen Punkt<br />

Gegeben seien ein Kegelschnitt K und ein Punkt P. Wie findet man alle Tangenten durch<br />

P an K? Zur Beantwortung dieser Frage unterschieden wir, ob der Punkt auf dem Kegelschnitt<br />

liegt oder nicht. Dabei wird sich eine spezielle Gerade, die sogenannte Polare, als<br />

nützliches Hilfsmittel herausstellen.<br />

Die Gleichung eines Kegelschnitts schreiben wir wieder als K : k(x) = 0, mit k(x) =<br />

X t SX + 2a t X + α. Für unsere Fragestellung ist es zweckmäßig, noch folgende zusätzliche<br />

Schreibweisen einzuführen.<br />

Definition 4.19 k(X, Y ) := Y t SX + a t X + a t Y + α<br />

Für uns werden folgende Ausdrücke wichtig sein:<br />

k(X, X) = X t SX + 2a t X + α = k(X)<br />

k(P, P) = P t SP + 2a t P + α = k(P)<br />

k(X, P) = P t SX + a t X + a t P + α<br />

Hilfssatz 4.14 Seien K ein Kegelschnitt und P /∈ K ein Punkt des R 2 . Alle Tangenten<br />

durch P an K erhält man als Lösung der Gleichung<br />

k(X, P) 2 − k(X, X)k(P, P) = 0<br />

Die Lösungsmenge dieser Gleichung nennen wir Tangentialkegelschnitt.


4.5. KEGELSCHNITTE 93<br />

Beweis. Eine Tangente t : X = P + λv muss die Berührbedingung ∆ = d 2 − uw = 0 mit<br />

u ≠ 0 erfüllen; im Fall u = 0 wäre t eine Asymptote (vgl. Definition 4.18, p.89). Aus der<br />

Parameterdarstellung der Tangente erhalten wir λv = X − P. Diesen Ausdruck können<br />

wir in die Bedingungen einsetzen. Dabei verwenden wir die Symmetrieeigenschaft von S,<br />

weshalb X t SY = Y t SX gilt (Bemerkung 3.8, p.42). Berechnen wir zuerst die Koeffizienten<br />

u, d, w der Schnittpunktgleichung.<br />

u = v t Sv<br />

λ 2 u = (λv) t S(λv)<br />

λ 2 u = (X − P) t S(X − P)<br />

= X t SX − P t SX − X t SP + P t SP<br />

= (X t SX + 2a t X + α) + (P t SP + 2a t P + α) − 2(P t AX + a t X + a t P + α)<br />

λ 2 u = k(X, X) + k(P, P) − 2k(X, P)<br />

d = P t Sv + a t v<br />

λd = P t S(λv) + a t (λv)<br />

= P t S(X − P) + a t (X − P)<br />

= P t SX − P t SP + a t X − a t P<br />

= (P t SX + a t X + a t P + α) − (P t SP + 2a t P + α)<br />

λd = k(X, P) − k(P, P)<br />

w = P t SP + 2a t P + α<br />

w = k(P, P)<br />

Jetzt betrachten wir die Berührbedingung ∆ = d 2 − uw = 0 und setzen die eben<br />

erzielten Ergebnisse ein.<br />

0 = ∆<br />

0 = d 2 − uw<br />

0 = λ 2 (d 2 − uw)<br />

0 = λ 2 d 2 − (λ 2 u)w<br />

0 = [k(X, P) − k(P, P)] 2 − [k(X, X) + k(P, P) − 2k(X, P)] · [k(P, P)]<br />

0 = k(X, P) 2 − k(X, X)k(P, P)<br />

In Abbildung 4.26 sind die Tangenten an eine Ellipse durch einen Punkt, der nicht<br />

auf der Ellipse liegt, dargestellt. Die beiden Tangenten bilden zusammen ein schneidendes<br />

Geradenpaar, den Tangentialkegelschnitt, der die Gleichung aus Hilfssatz 4.14 besitzt.<br />


94 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Abbildung 4.26: Tangenten durch einen Punkt an einen Kegelschnitt<br />

Man kann die Tangentengleichungen jedoch auch einfacher bekommen, indem man sich<br />

die Tangentenberührpunkte genauer ansieht.<br />

Bemerkung 4.6 Die Berührpunkte der Tangenten aus einem Punkt P /∈ K an den Kegelschnitt<br />

K liegen auf der Geraden k(X, P) = 0.<br />

Beweis. Ein Tangentenberührpunkt X liegt auf dem Tangentialkegelschnitt TK und dem<br />

Kegelschnitt K selbst, X ∈ TK ∩ K.<br />

X ∈ TK : 0 = k(X, P) 2 − k(X, X)k(P, P)<br />

X ∈ K : 0 = k(X, X)<br />

⇒ 0 = k(X, P)<br />

✷<br />

Hilfssatz 4.15 Seien K ein Kegelschnitt und P ∈ K ein Punkt des R 2 , wobei P kein<br />

Mittelpunkt von K ist. Die Tangente oder Erzeugende in P hat die Gleichung<br />

k(X, P) = 0.<br />

Beweis. Wieder muss eine Tangente t : X = P + λv die Berührbedingung ∆ = d 2 −<br />

uw = 0 mit u ≠ 0 erfüllen. Da hier P auf K liegt, gilt 0 = k(P) = k(P, P) = w. Die<br />

Berührbedingung vereinfacht sich dadurch zu ∆ = d 2 = 0. Es muss also d = 0 gelten. Im<br />

Fall u = 0 liegt somit wegen w = 0, d = 0 eine Erzeugende, bei u ≠ 0 eine Tangente vor.<br />

Betrachten wir jetzt d.<br />

0 = d<br />

0 = P t Sv + a t v<br />

0 = (SP + a) t v


4.5. KEGELSCHNITTE 95<br />

Wäre P ein Mittelpunkt, also P = −S −1 a, dann wäre wegen SP + a = O die Berührbedingung<br />

für jede Richtung erfüllt. Wenn P auf K liegt und Mittelpunkt von K ist, kann er<br />

nur der Schnittpunkt einer Doppelgeraden sein. Diesen Fall haben wir nach Voraussetzung<br />

ausgeschlossen.<br />

Wie sieht nun die Gleichung der Tangente aus? Dazu verwenden wir das Ergebnis für<br />

λd aus dem Beweis zu Hilfssatz 4.14 und erhalten die gewünschte Tatsache.<br />

λd = k(X, P) − k(P, P)<br />

0 = k(X, P) − 0<br />

0 = k(X, P)<br />

In Abbildung 4.27 ist die Tangente an eine Ellipse durch einen Punkt dieser Ellipse<br />

zu sehen. Ihre Gleichung hat nach Hilfssatz 4.15 die Form k(X, P) = 0. Diese Gleichung<br />

kommt sowohl in Bemerkung 4.6, als auch in Hilfssatz 4.15 vor und führt uns zur folgenden<br />

Definition.<br />

✷<br />

Abbildung 4.27: Tangente durch einen Punkt auf einem Kegelschnitt<br />

Definition 4.20 Sei P kein Mittelpunkt eines Kegelschnitts K. Die Gerade p : k(X, P) =<br />

0 heißt Polare von P bezüglich K. Der Punkt P heißt Pol von p bezüglich K.<br />

Nun können wir die eingangs gestellte Frage, wie man Tangenten aus einem Punkt an<br />

einen Kegelschnitt legt, zusammenfassend beantworten.<br />

Satz 4.16 Seien K ein Kegelschnitt und P ein Punkt des R 2 , der nicht Mittelpunkt von<br />

K ist. Dann gilt:<br />

1. P ∈ K : Die Tangente an K in P ist die Polare von P bezüglich K.<br />

2. P /∈ K : Die Berührpunkte der Tangenten von P an K liegen auf der Polaren von<br />

P bezüglich K.


96 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Abbildung 4.28: Tangenten und Polare eines Punktes bezüglich eines Kegelschnitts<br />

Beweis. (1) Nach Hilfssatz 4.15 hat die Tangente an K in P die Gleichung k(X, P) = 0.<br />

Dies ist die Polare von P bezüglich K (Definition 4.20).<br />

(2) Nach Bemerkung 4.6 liegen die Berührpunkte der Tangenten aus einem Punkt<br />

P /∈ K an den Kegelschnitt K auf der Geraden k(X, P) = 0. Dies ist die Gleichung der<br />

Polaren von P bezüglich K.<br />

✷<br />

Abbildung 4.28 zeigt noch einmal übersichtlich den Zusammenhang zwischen Tangenten<br />

(t 1 , t 2 ) und Polare (p). Die Tangentenberührpunkte bekommen wir durch Schnitt des<br />

Kegelschnitts K mit der Polaren p. Die Tangenten sind dann einfach die Geraden durch<br />

die Punkte P, T 1 und P, T 2 .<br />

Es ist auch möglich, dass Polare und Kegelschnitt keine Schnittpunkte haben. In diesem<br />

Fall kann man von P aus keine Tangenten an den Kegelschnitt legen. Ein Beispiel für eine<br />

solche Situation ist in Abbildung 4.29 zu sehen.<br />

Abbildung 4.29: Polare ohne Schnittpunkte mit einem Kegelschnitt<br />

Beispiel. Betrachten wir nochmals die Parabel par : y 2 − 4x = 0. Wir wollen nun die<br />

Tangenten an par durch den Punkt P = (−2, 1) bestimmen (siehe Abbildung 4.30). Dazu<br />

berechnen wir zunächst die Polare p von P bezüglich par.<br />

p : 0 = k(X, P)


4.5. KEGELSCHNITTE 97<br />

p :<br />

= P t SX +<br />

(<br />

a t P +<br />

)<br />

a t X<br />

(<br />

+ α<br />

) (<br />

0 0 x<br />

= (−2, 1)<br />

+ (−2, 0)<br />

0 1 y<br />

( )<br />

0<br />

= (−2, 1) + 4 − 2x<br />

y<br />

0 = y + 4 − 2x<br />

−2<br />

1<br />

)<br />

+ (−2, 0)<br />

(<br />

x<br />

y<br />

)<br />

Die Polare schneiden wir jetzt mit der Parabel und erhalten dabei die Schnittpunkte<br />

T 1 = (4, 4) sowie T 2 = (1, −2). Die Tangenten erhalten wir als die Geraden durch P und<br />

T 1 bzw. P und T 2 mit den Gleichungen t 1 : x − 2y + 4 = 0 und t 2 : x + y + 1 = 0.<br />

Abbildung 4.30: Tangenten und Polare an eine Parabel<br />

Wir wollen nun noch den Tangentialkegelschnitt TK berechnen (Hilfssatz 4.14, p.92).<br />

TK : 0 = k(X, P) 2 − k(X, X)k(P, P)<br />

k(X, P) 2 = (−2x + y + 4) 2 = 4x 2 − 4xy + y 2 − 16x + 8y + 16<br />

k(X, X) = y 2 − 4x<br />

k(P, P) = p 2 y − 4p x = 9<br />

TK : 0 = 4x 2 − 4xy + y 2 − 16x + 8y + 16 − 9(y 2 − 4x)<br />

0 = 4x 2 − 4xy − 8y 2 + 20x + 8y + 16<br />

0 = x 2 − xy − 2y 2 + 5x + 2y + 4<br />

Überprüfen wir noch, ob wirklich TK = t 1 ∪ t 2 gilt. Ein Punkt X liegt genau dann auf<br />

t 1 oder t 2 , wenn er x − 2y + 4 = 0 oder x + y + 1 = 0 erfüllt. Dies ist genau dann der Fall,<br />

wenn er 0 = (x −2y +4)(x+y+1) = x 2 −xy −2y 2 +5x+2y +4 erfüllt. Wir sehen damit,<br />

dass der Tangentialkegelschnitt tatsächlich aus den beiden Tangenten besteht.


98 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

Tangenten mit vorgegebener Richtung<br />

Gegeben seien ein Kegelschnitt K und ein Richtungsvektor v. Wie findet man alle Tangenten<br />

mit Richtung v an K? Bei der Beantwortung dieser Frage wird uns wieder eine<br />

spezielle Gerade, der sogenannte konjugierte Durchmesser helfen.<br />

Zunächst führen wir Bezeichnungen für spezielle Richtungsvektoren relativ zu einem<br />

Kegelschnitt ein.<br />

Definition 4.21 Sei K : k(x) = 0, mit k(x) = X t SX + 2a t X + α ein Kegelschnitt. Die<br />

Richtung v heißt<br />

singulär oder axial :⇔ Sv = 0<br />

bezüglich K.<br />

asymptotisch :⇔ v t Sv = 0<br />

Alle einfachen Treffgeraden einer Parabel haben axiale Richtung. Dies ist die Richtung<br />

der Hauptachse der Parabel (vgl. Abbildung 4.24, p.90). Die beiden Asymptoten einer<br />

Hyperbel haben asymptotische Richtungen.<br />

Hilfssatz 4.17 Die Tangenten mit vorgegebener nicht singulärer Richtung v an einen Kegelschnitt<br />

K erfüllen zusammen mit den Asymptoten und Erzeugenden von K die Gleichung<br />

(X t Sv + a t v) 2 − (v t Sv)k(X, X) = 0<br />

Beweis. Wir suchen nach Tangenten mit der Richtung v. Betrachtung wir zunächst die<br />

Berührbedingung für Tangenten ∆ = d 2 − uw = 0 (mit u ≠ 0). Im Fall u = 0 gibt es noch<br />

die Möglichkeiten der Erzeugenden (d = w = 0) und Asymptoten (d = 0, w ≠ 0).<br />

Sei also nun u ≠ 0 und X = P + λv eine Tangente in Richtung v. Daraus bekommen<br />

wir P = X − v unter Vernachlässigung von λ, da hier nur die Richtung interessant ist.<br />

Damit setzen wir unter Verwendung von Definition 4.18, p.89 (d = P t Sv + a t v, u = v t Sv,<br />

w = P t SP + 2a t P + α) in die Berührbedingung ein:<br />

∆ = d 2 − uw = (P t Sv + a t v) 2 − (v t Sv)(P t SP + 2a t P + α)<br />

= ((X − v) t Sv + a t v) 2 − u((X − v) t S(X − v) + 2a t (X − v) + α)<br />

= (X t Sv + a t v − u) 2 − u(X t SX + 2a t X + α − X t Sv − v t SX − 2a t v + u)<br />

= (X t Sv + a t v) 2 − 2u(X t Sv + a t v) + u 2 − uk(X, X) + 2u(X t Sv + a t v) − u 2<br />

= (X t Sv + a t v) 2 − (v t Sv)k(X, X) = 0<br />

In Abbildung 4.31 sind die Tangenten an eine Ellipse mit einer gegebenen Richtung<br />

dargestellt. Die beiden Tangenten bilden zusammen ein paralleles Geradenpaar, welches<br />

die Gleichung aus Hilfssatz 4.17 besitzt. Wir können die Tangentengleichungen jedoch auch<br />

einfacher bekommen, indem wir uns die Tangentenberührpunkte genauer ansehen.<br />


4.5. KEGELSCHNITTE 99<br />

Abbildung 4.31: Tangenten mit vorgegebener Richtung<br />

Bemerkung 4.7 Die Berührpunkte der Tangenten mit der nicht singulären Richtung v<br />

an den Kegelschnitt K liegen auf der Geraden X t Sv + a t v = 0.<br />

Beweis. Ein Tangentenberührpunkt X erfüllt nach Hilfssatz 4.17 die Gleichung (X t Sv +<br />

a t v) 2 −(v t Sv)k(X, X) = 0. Da er auch auf K selbst liegt, gilt zudem k(X, X) = 0. Daraus<br />

folgt unmittelbar, dass X der Geradengleichung X t Sv + a t v = 0 genügt. ✷<br />

Dies motiviert die Einführung des folgenden Begriffs.<br />

Definition 4.22 Die Gerade d v : X t Sv + a t v = 0 heißt der zur Richtung v konjugierte<br />

Durchmesser von K bzw. die Polare der Richtung v zu K.<br />

Zwei nicht singuläre Richtungen v und w heißen konjugiert bezüglich K genau dann,<br />

wenn w t Sv = 0.<br />

Nun können wir in einfachen Worten die Frage nach den Tangenten mit einer gegebenen<br />

Richtung beantworten.<br />

Satz 4.18 Sei K ein Kegelschnitt und v eine nicht singuläre Richtung (Sv ≠ 0), dann<br />

gilt:<br />

1. Der zur Richtung v konjugierte Durchmesser von K enthält die Berührpunkte der<br />

Tangenten mit Richtung v an K.<br />

2. Wenn K ein Mittelpunktskegelschnitt ist, so liegt der Mittelpunkt von K auf dem zu<br />

v konjugierten Durchmesser von K.<br />

3. Der Richtungsvektor des Durchmessers ist konjugiert zu v.<br />

Beweis. (1) Die Behauptung entspricht nach Definition 4.22 der Bemerkung 4.7.


100 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE<br />

(2) Der Mittelpunkt M eines Mittelpunktskegelschnitts ist gegeben durch M = −S −1 a<br />

(Bermerkung 4.4, p.77).<br />

M = −S −1 a<br />

SM + a = O<br />

M t S t + a t = O t | · v<br />

M t Sv + a t v = 0<br />

(3) Ein Richtungsvektor des Durchmessers X t Sv + a t v = 0 ist Lösung der Gleichung<br />

X t Sv = 0. Die konjugierte Rchtung w zu v muss w t Sv = 0 erfüllen und stellt damit<br />

offenbar einen Richtungsvektor des Durchmessers dar.<br />

✷<br />

Abbildung 4.32: Durchmessergerade und Tangenten mit vorgegebener Richtung<br />

Eine Richtung heißt übrigens Hauptrichtung von K, wenn der Normalvektor von v auch<br />

zu v konjugiert ist. Die Hauptrichtungen geben die Richtungen der Hauptachsen von K an<br />

und sind genau die Eigenvektoren von S (vgl. Klassifikation der Kegelschnitte 4.5.3, p.75).<br />

Die Berührpunkte der Tangenten, die normal zur Hauptrichtung stehen, heißen Scheitel.<br />

Abbildung 4.32 zeigt eine Ellipse und ihre beiden Tangenten mit Richtung v sowie den<br />

zu v konjugierten Durchmesser d v . Der Richtungsvektor von d v ist die zu v konjugierte<br />

Richtung. Nur wenn v eine der Hauptachsenrichtungen ist, stehen Durchmesser und v<br />

normal aufeinander. In der Abbildung ist dies nicht der Fall.<br />

Beispiel. Betrachten wir die Ellipse ell : 9x 2 +16y 2 = 144. Wir suchen ihre Tangenten mit<br />

Richtung v = (1, 0). Dazu berechnen wir zunächst den Durchmesser d v : X t Sv + a t v = 0.<br />

d v : X t Sv + a t v = 0<br />

( )(<br />

X t 9 0<br />

0 16<br />

9x = 0<br />

d v : x = 0<br />

1<br />

0<br />

)<br />

+ O t v = 0


4.5. KEGELSCHNITTE 101<br />

Abbildung 4.33: Durchmesser und Tangenten mit vorgegebener Richtung einer Ellipse<br />

Wir schneiden den Durchmesser mit der Ellipse und erhalten dadurch die Tangentenberührpunkte<br />

T 1 = (0, 3) und T 2 = (0, −3) und somit die gesuchten Tangenten t 1 : y = 3<br />

und t 2 : y = −3.<br />

Nach Hilfssatz 4.17 erfüllen die Tangenten der Richtung v die folgende Gleichung, was<br />

wir nun überprüfen wollen.<br />

(X t Sv + a t v) 2 − (v t Sv)k(X, X) = 0<br />

(9x) 2 − 9(9x 2 + 16y 2 − 144) = 0<br />

y 2 = 9<br />

Diese Gleichung entspricht einem Paar paralleler Geraden, das aus t 1 und t 2 besteht.<br />

Die Tangenten haben übrigens Hauptrichtung, weshalb der Durchmesser normal zu ihnen<br />

steht.<br />

In der affinen Geometrie haben wir unterschieden, ob Tangenten durch einen Punkt oder<br />

mit gegebener Richtung an einen Kegelschnitt zu legen sind. In der projektiven Geometrie<br />

können diese beiden Fälle in natürlicher Weise zusammengefasst werden (vgl. 5.6.2, p.118).


102 KAPITEL 4. AFFINE UND EUKLIDISCHE GEOMETRIE


Kapitel 5<br />

Projektive Geometrie<br />

5.1 Motivation<br />

Formal gesehen, ist die projektive Geometrie nichts anderes als Vektorraumtheorie mit<br />

erweiterter Sprechweise. Intuitiv entsteht die projektive Geometrie aus der affinen Geometrie<br />

durch Hinzufügen sogenannter unendlich ferner Punkte. Um diese Idee zu erläutern,<br />

betrachten wir im Vektorraum V = R 3 eine Ebene E, die nicht durch den Nullpunkt geht<br />

und parallel zur x-y Ebene E 0 liegt. Die Ebene E stellt dabei beispielsweise die Punkte<br />

des R 2 dar.<br />

Jedem Punkt v ∈ E ordnen wir die Gerade [v] (vgl. lineare Hülle, p.19) durch den<br />

Nullpunkt zu (vgl. [v] in Abbildung 5.1). Eine solche Gerade nennen wir Strahl. Wir haben<br />

es mit folgender injektiven Abbildung zu tun: Punkte von E ↦→ Strahlen durch O.<br />

Abbildung 5.1: Projektive Ebene als Menge der Strahlen des R 3<br />

Es gibt auch Strahlen, die zu keinem Punkt von E gehören, nämlich jene, die parallel zu<br />

E sind und in E 0 liegen. Diese Strahlen, die ja E nicht scheiden, entsprechen den unendlich<br />

fernen Punkten (vgl. [u] in Abbildung 5.1). Unter einer projektiven Ebene verstehen wir<br />

103


104 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

nun die Menge aller Strahlen eines dreidimensionalen Vektorraums. Eine projektive Ebene<br />

besteht also aus Punkten von E (≡ Strahlen durch die Punkte von E) und unendlich fernen<br />

Punkten (≡ Strahlen in E 0 ).<br />

5.2 Projektive Räume<br />

Wir präzisieren nun die eben gemachten Anmerkungen, um zum Begriff eines projektiven<br />

Raumes zu kommen.<br />

Definition 5.1 Sei V ein Vektorraum. Ein eindimensionaler Untervektorraum von V<br />

heißt Strahl. Der Strahl durch v ∈ V ist gegeben durch die lineare Hülle [v].<br />

Definition 5.2 Die Menge der Strahlen von V heißt projektiver Raum P(V ) zu V.<br />

P(V ) := {[v] : v ∈ V }<br />

Die Punkte (Elemente) von P(V ) sind also die Strahlen von V . Da die Strahlen eindimensionale<br />

Untervektorräume darstellen, schreiben wir anstelle von [v] ∈ P(V ) meist [v] ⊆<br />

P(V ). Die Dimension eines projektiven Raumes ist definiert als dim P(V ) := dim V − 1.<br />

Definition 5.3 Sei U ⊆ V ein Untervektorraum von V . Dann heißt P(U) ⊆ P(V ) projektiver<br />

Unterraum von P(V ).<br />

Definition 5.4 Sei P(U) ein projektiver Unterraum. Dann gebrauchen wir folgende Namen<br />

für P(U):<br />

projektive Punkt :⇔ dim P(U) = 0 ⇔ dim U = 1<br />

projektive Gerade :⇔ dim P(U) = 1 ⇔ dim U = 2<br />

projektive Ebene :⇔ dim P(U) = 2 ⇔ dim U = 3<br />

Die Dimension des Nullpunkts ist im Projektiven -1, da dim P([O]) = dim[O] − 1 =<br />

0 − 1 = −1.<br />

In der affinen Geometrie kann der Durchschnitt zweier Teilräume leer sein oder nicht.<br />

Dies zwingt uns zu Fallunterscheidungen. Beispielsweise haben zwei parallele affine Geraden<br />

des R 2 keinen Schnittpunkt (Bemerkung 4.1, p.47). Projektive Räume verhalten sich<br />

hingegen anders, da es in der Projektiven Geometrie keine Parallelität gibt. Zwei projektive<br />

Teilräume haben stets einen nichtleeren Durchschnitt, wie aus dem nächsten Satz folgt.<br />

Satz 5.1 Seien U 1 , U 2 zwei Untervektorräume von V . Dann gilt:<br />

P(U 1 ) ∩ P(U 2 ) = P(U 1 ∩ U 2 )


5.3. PUNKTE 105<br />

Beweis. Dies folgt unmittelbar aus der Definition 5.2 eines projektiven Raumes.<br />

[u] ⊆ P(U 1 ) ∩ P(U 2 ) ⇔ [u] ⊆ P(U 1 ) und [u] ⊆ P(U 2 )<br />

⇔ u ∈ U 1 und u ∈ U 2<br />

⇔ u ∈ U 1 ∩ U 2<br />

⇔ [u] ⊆ P(U 1 ∩ U 2 )<br />

✷<br />

Folgerung 5.1 Der Durchschnitt zweier projektiver Teilräume ist nicht leer.<br />

Beweis. Der Nullpunkt liegt stets im Durchschnitt zweier Vektorräume U 1 , U 2 : {O} ∈<br />

U 1 ∩ U 2 . Nach Definition 5.2 und Satz 5.1 ist daher [O] ⊆ P(U 1 ∩ U 2 ) = P(U 1 ) ∩ P(U 2 ). ✷<br />

Ein weiterer wichtiger Begriff ist die Verbindung zweier projektiver Unterräume.<br />

Definition 5.5 Die projektive Verbindung zweier projektiver Unterräume P(U 1 ), P(U 2 )<br />

von P(V ) ist über die Summe der Vektorräume definiert:<br />

P(U 1 ) ∨ P(U 2 ) := P(U 1 + U 2 )<br />

Nach Definition 3.10, p.19 ist damit die lineare Hülle der Vereinigung von U 1 , U 2 gemeint,<br />

also P(U 1 ) ∨ P(U 2 ) = P(U 1 + U 2 ) = P([U 1 ∪ U 2 ]).<br />

Betrachten wir nun den projektiven Raum P(R 3 ). Wegen dim P(R 3 ) = dim R 3 − 1 = 2<br />

ist P(R 3 ) eine projektive Ebene. Im den folgenden Abschnitten werden wir uns Punkte,<br />

Geraden und Quadriken (Kegelschnitte) des P(R 3 ) ansehen.<br />

5.3 Punkte<br />

Die Punkte von P(R 3 ) sind die Strahlen [v] = [(v x , v y , v z )] mit v ∈ R 3 .<br />

Stellen wir uns den R 2 mit den Punkten P = (x, y) als Ebene E : z = 1 des R 3<br />

vor (vgl. Abbildung 5.2, p.106). Die Punkte von E haben dann die Koordinaten (x, y, 1).<br />

Die entsprechenden Strahlen sind Elemente des P(R 3 ) und von der Form [(x, y, 1)] =<br />

{(zx, zy, z) ∈ R 3 : x, y, z ∈ R, z ≠ 0}. Jedem Punkt P des R 2 haben wir somit einen<br />

Strahl durch den Nullpunkt zugeordnet. Die Tupel (zx, zy, z) ∈ R 3 hatten wir bereits in<br />

Definition 4.11, p.55 für alle z ≠ 0 ∈ R homogene Koordinaten von P genannt.<br />

P =<br />

(<br />

x<br />

y<br />

)<br />

≡<br />

⎛<br />

⎜<br />

⎝<br />

zx<br />

zy<br />

z<br />

⎞<br />

⎟<br />

⎠<br />

Wir erweitern diese Definition nun um unendlich ferne Punkte, indem wir auch z = 0<br />

zulassen.


106 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Abbildung 5.2: Punkte des P(R 3 )<br />

Definition 5.6 Sei P ein Punkt der reellen projektiven Ebene P(R 3 ). Dann schreiben wir<br />

kurz<br />

P =<br />

⎛<br />

⎜<br />

⎝<br />

x<br />

y<br />

z<br />

⎞<br />

⎟<br />

⎠ :=<br />

⎡⎛<br />

⎢⎜<br />

⎣⎝<br />

x<br />

y<br />

z<br />

⎞⎤<br />

⎟⎥<br />

⎠⎦, x, y, z ∈ R<br />

und nennen dies die homogenen Koordinaten von P. Wenn z = 0 ist, heißt P unendlich<br />

ferner Punkt. Wenn z ≠ 0 ist, heißt P endlicher Punkt und ( x<br />

, y z z)<br />

inhomogene Koordinaten<br />

von P.<br />

Der Nullvektor ist übrigens kein Punkt der projektiven Ebene, stellt er doch einen -1<br />

dimensionalen Teilraum dar. Punkte sind hingegen 0-dimensionale Teilräume.<br />

Anstelle der linearen Hülle [(x, y, z)] schreiben wir einfach das Tripel (x, y, z) und meinen<br />

damit alle Vielfachen dieses Vektors. Die Punkte des R 2 entsprechen eineindeutig den<br />

endlichen Punkten der projektiven Ebene P(R 3 ). Bei endlichen Punkten werden wir in der<br />

Regel z = 1 setzen:<br />

(<br />

x<br />

y<br />

)<br />

∈ R 2<br />

↦→<br />

⎛<br />

⎜<br />

⎝<br />

x<br />

y<br />

1<br />

⎞<br />

⎟<br />

⎠ ∈ P(R 3 )<br />

Haben wir umgekehrt die homogenen Koordinaten eines endlichen Punktes (z ≠ 0) gegeben,<br />

dann erhalten wir wie folgt die inhomogenen affinen Koordinaten.<br />

⎛<br />

⎜<br />

⎝<br />

x<br />

y<br />

z<br />

⎞<br />

⎟<br />

⎠ ∈ P(R 3 )<br />

↦→<br />

(<br />

x<br />

z<br />

y<br />

z<br />

)<br />

∈ R 2


5.4. GERADEN 107<br />

5.4 Geraden<br />

Betrachten wir jetzt Geraden des P(R 3 ). Sie stellen die projektive Verbindung zweier Punkte<br />

des P(R 3 ) dar und entsprechen den Ebenen des R 3 durch den Nullpunkt.<br />

Abbildung 5.3: Geraden des P(R 3 )<br />

Definition 5.7 Seien A, B zwei Punkte eines projektiven Raumes. Dann heißt A ∨ B die<br />

Verbindungsgerade von A, B.<br />

Hier haben wir die Kurzschreibweise von Definition 5.6 verwendet, also A = [A] und<br />

B = [B] gesetzt. Die Punkte eines projektiven Raumes sind ja Strahlen.<br />

Wie lässt sich nun eine Verbindungsgerade des P(R 3 ) darstellen? Verwenden wir dazu<br />

die Definition 5.5 der projektiven Verbindung für die beiden Punkte A, B:<br />

A ∨ B = P([A] + [B]) = P([A, B]).<br />

Der Untervektorraum [A, B] entspricht einer Ebene des R 3 , die durch den Nullpunkt<br />

geht. Die Punkte der Verbindungsgeraden A ∨ B entsprechen jenen Strahlen, die in dieser<br />

Ebene liegen (siehe Abbildung 5.3). Damit bekommen wir die Parameterdarstellung einer<br />

projektiven Geraden:<br />

A ∨ B : X = λ 1 · A + λ 2 · B.<br />

Im P(R 3 ) können wir die Verbindungsgerade auf folgende Art durch eine Gleichung<br />

angeben.<br />

Bemerkung 5.1 Seien A, B zwei Punkte des P(R 3 ). Dann lässt sich die Gleichung der<br />

Verbindungsgeraden A ∨ B folgendermaßen in Normalvektorform darstellen:<br />

A ∨ B : 〈X, A × B〉 = 0


108 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Beweis. Betrachten wir die Parameterdarstellung von A ∨ B: X = λ 1 · A + λ 2 · B. Diese<br />

lässt sich als affine Hyperebene des R 3 interpretieren. Eine affine Hyperebene lässt sich<br />

stets mittels Normalvektorform (4.1.1, p.48) 〈 −−→ PX, n〉 = 0 als Gleichung darstellen, wobei<br />

P einen Punkt und n einen Normalvektor der Hyperebene darstellen. Wir wählen P = O,<br />

da die Hyperebene den Nullpunkt enthält. n = A × B liefert uns den Normalvektor der<br />

Hyperebene (vgl. Folgerung 4.2, p.50 in Abschnitt 4.1.2, p.49 über das Vektorprodukt). Es<br />

gilt damit: X ∈ A ∨ B ⇔ 〈 −−→ OX, A × B〉 = 〈X, A × B〉 = 0.<br />

✷<br />

Die Normalvektorform nehmen wir zum Anlass für folgende Definition.<br />

Definition 5.8 Sei n ∈ P(R 3 ). Dann verstehen wir unter g n folgende Gerade:<br />

g n : 〈X, n〉 = 0<br />

Von der Normalvektorform kommen wir in natürlicher Weise zu einer Gleichungsdarstellung<br />

mittels Determinante.<br />

Folgerung 5.2 A ∨ B : det(A, B, X) = 0<br />

Beweis. Betrachten wir die Definition 4.9, p.50 des Vektorproduktes: 〈X, u 1 ×...×u n−1 〉<br />

= det(u 1 , . . .,u n−1 , X). Für den R 3 gilt damit 〈X, A × B〉 = det(A, B, X) und nach Bemerkung<br />

5.1 die Behauptung.<br />

✷<br />

⎛ ⎞ ⎛ ⎞<br />

1<br />

5<br />

⎜ ⎟ ⎜ ⎟<br />

Beispiel. Betrachten wir beispielsweise die Punkte A = ⎝ 3 ⎠ und B = ⎝ 2 ⎠. Gesucht<br />

ist die Gleichung der Verbindungsgeraden A ∨ B. Dazu berechnen wir zunächst den<br />

1<br />

1<br />

Normalvektor A × B.<br />

A × B =<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

3<br />

1<br />

⎞<br />

⎟<br />

⎠ ×<br />

⎛<br />

⎜<br />

⎝<br />

5<br />

2<br />

1<br />

⎞<br />

⎟<br />

⎠ =<br />

⎛<br />

⎜<br />

⎝<br />

∣<br />

−<br />

∣<br />

∣<br />

3 2<br />

1 1<br />

1 5<br />

1 1<br />

1 5<br />

3 2<br />

Die Gleichung von A ∨ B ist damit gegeben als<br />

⎛<br />

⎜<br />

〈 ⎝<br />

x<br />

y<br />

z<br />

〈X, A × B〉 = 0<br />

⎞ ⎛ ⎞<br />

1<br />

⎟ ⎜ ⎟<br />

⎠ , ⎝ 4 ⎠〉 = 0<br />

−13<br />

x + 4y − 13z = 0.<br />

⎞<br />

∣<br />

⎛<br />

⎜<br />

∣<br />

= ⎝<br />

⎟<br />

⎠<br />

∣<br />

1<br />

4<br />

−13<br />

Vergleichen wir dieses Ergebnis mit dem äquivalenten affinen Beispiel (p.53) der Geraden<br />

durch die Punkte (1, 3) und (5, 2), die als Gleichung x + 4y − 13 = 0 besitzt. Ein<br />

Punkt (x, y) des R 2 erfüllt die Gleichung x + 4y − 13 = 0 genau dann, wenn ein Punkt<br />

(x, y, 1) des P(R 3 ) die Gleichung x + 4y − 13z = 0 erfüllt.<br />

⎞<br />

⎟<br />


5.4. GERADEN 109<br />

5.4.1 Schnitt projektiver Geraden<br />

Zwei affine Geraden schneiden sich nur dann, wenn sie nicht parallel sind. Zwei projektive<br />

Geraden des P(R 3 ) haben hingegen stets einen eindeutig bestimmten Schnittpunkt.<br />

Abbildung 5.4: Schnitt zweier Geraden des P(R 3 )<br />

Satz 5.2 Zwei verschiedene Geraden des P(R 3 ) haben genau einen Schnittpunkt.<br />

Beweis. Anschaulich und algebraisch entspricht der Schnitt zweier projektiver Geraden<br />

im P(R 3 ) dem Schnitt zweier Ebenen durch den Nullpunkt im R 3 (siehe Abbildung 5.4).<br />

Wir haben damit ein homogenes lineares Gleichungssystem A · X = O mit zwei Gleichungen<br />

und drei Variablen zu lösen. A ist also eine 2×3 Matrix. Da wir es mit verschiedenen<br />

projektiven Geraden zu tun haben, ist rgA = 2. Nach der Dimensionsformel für lineare<br />

Gleichungssysteme (Bemerkung 3.7, p.33) ist die eindeutig bestimmte Lösungsmenge L ein<br />

eindimensionaler Untervektorraum: dimL = n − rgA = 3 − 2 = 1. Ein eindimensionaler<br />

Untervektorraum enstpricht einem Strahl und somit einem projektiven Punkt. Zwei projektive<br />

Geraden des P(R 3 ) schneiden sich somit in genau einem Punkt.<br />

✷<br />

Wie berechnet sich nun dieser Schnittpunkt?<br />

Satz 5.3 Seien A ∨ B und C ∨ D zwei verschiedene projektive Geraden. Dann gilt<br />

(A ∨ B) ∩ (C ∨ D) = (A × B) × (C × D)<br />

Beweis. Stellen wir die beiden Geraden zunächst mittels Normalvektorform dar. A ∨ B :<br />

〈X, A × B〉 = 0 und C ∨ D : 〈X, C × D〉 = 0 sind zwei projektive Geraden. Es wird nun<br />

behauptet, dass S := (A × B) × (C × D) den Schnittpunkt der beiden Geraden darstellt.<br />

Wir zeigen zunächst, dass S ≠ O ist. A ∨ B und C ∨ D sind genau dann verschiedene<br />

Geraden, wenn n 1 := A × B und n 2 := C × D linear unabhängig sind, da die beiden


110 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Gleichungen ansonsten dieselbe Lösungsmenge hätten. Nach Satz 4.3, p.51 sind n 1 und n 2<br />

genau dann linear unabhängig, wenn n 1 × n 2 ≠ O ist. Daher ist S ≠ O genau dann, wenn<br />

die beiden Geraden verschieden sind. S ist damit ein projektiver Punkt.<br />

Wir überzeugen uns nun noch davon, dass S wirklich beide Geradengleichungen erfüllt.<br />

Es soll also 〈S, n 1 〉 = 0 und 〈S, n 2 〉 = 0 gelten, das heißt S⊥n 1 und S⊥n 2 . Nach Satz 4.2,<br />

p.50 wissen wir, dass das Vektorprodukt n 1 × n 2 normal zu n 1 und n 2 steht. Damit haben<br />

wir eine Lösung gefunden: S = n 1 × n 2 = (A × B) × (C × D). Nach Satz 5.2 ist dieser<br />

Schnittpunkt eindeutig.<br />

✷<br />

Beispiel. Betrachten wir hierzu ein Beispiel. Es seien A ∨ B : 3x + 2y − 4z = 0 und<br />

C ∨ D : −5x + y + 11z = 0 zwei projektive Geraden des P(R 3 ). Wir suchen nun den<br />

Schnittpunkt S = (A ∨ B) ∩ (C ∨ D). Dieser Schnittpunkt entspricht der Lösungsmenge<br />

des folgenden homogenen linearen Gleichungssystems:<br />

3x + 2y − 4z = 0<br />

−5x + y + 11z = 0<br />

Nach Satz 5.3 lässt sich S mittels Vektorprodukt berechnen.<br />

S =<br />

⎛<br />

⎜<br />

⎝<br />

3<br />

2<br />

−4<br />

⎞<br />

⎟<br />

⎠ ×<br />

⎛<br />

⎜<br />

⎝<br />

−5<br />

1<br />

11<br />

⎞<br />

⎟<br />

⎠ =<br />

⎛<br />

⎜<br />

⎝<br />

∣<br />

−<br />

∣<br />

∣<br />

2 1<br />

−4 11<br />

3 −5<br />

−4 11<br />

3 −5<br />

2 1<br />

⎞<br />

∣<br />

⎛<br />

⎜<br />

∣<br />

= ⎝<br />

⎟<br />

⎠<br />

∣<br />

26<br />

−13<br />

13<br />

⎞<br />

⎟<br />

⎠<br />

5.4.2 Vergleich mit affinen Geraden<br />

Wir interpretieren das eben behandelte Beispiel jetzt für die affine Geometrie. Wegen<br />

S z = 13 ≠ 0 können wir S als Punkt des R 2 auffassen und die inhomogenen Koordinaten<br />

von S angeben.<br />

S =<br />

⎛<br />

⎜<br />

⎝<br />

26<br />

−13<br />

13<br />

⎞<br />

⎟<br />

⎠ ∈ P(R 3 ) ↦→ S =<br />

(<br />

26<br />

13<br />

−13<br />

13<br />

Erinnern wir uns nun an das Beispiel zur Cramerschen Regel (p.35). Dort hatten wir<br />

nämlich die selben beiden Geraden in affiner Schreibweise geschnitten. Dabei war die<br />

Lösung des folgenden inhomogenen Gleichungssystems gesucht.<br />

3x + 2y = 4<br />

−5x + y = −11<br />

)<br />

=<br />

(<br />

2<br />

−1<br />

)


5.4. GERADEN 111<br />

Dieses System ist eindeutig lösbar, wenn det A =<br />

∣<br />

Lösung S = (s x , s y ) ist gegeben als<br />

s x =<br />

s y =<br />

4 2<br />

∣<br />

∣ −11 1 ∣ ∣<br />

=<br />

det A<br />

3 4<br />

−<br />

∣ −5 −11 ∣ ∣<br />

=<br />

det A det A<br />

∣<br />

2 −4 ∣∣∣∣ 2 1<br />

1 11 ∣<br />

det A = −4 11<br />

det A<br />

3 −4<br />

−5 11<br />

∣<br />

3 2<br />

−5 1<br />

∣<br />

= 26<br />

13 = 2<br />

3 −5<br />

−<br />

∣ −4 11 ∣<br />

=<br />

det A<br />

∣ ∣∣∣∣ ∣ = 3 −5<br />

≠ 0 ist. Die<br />

2 1 ∣<br />

= −13<br />

13 = −1<br />

Wir bekommen damit S = (2, −1). Bei Anwendung der Cramerschen Regel haben wir<br />

hier also im Prinzip ein Vektorprodukt berechnet. Wenn det A = 0 ist, bedeutet das in der<br />

affinen Geometrie, dass die beiden Geraden parallel sind. Im Projektiven wird dadurch nur<br />

die z-Koordinate des Schnittpunktes null, wir erhalten also einen unendlich fernen Punkt.<br />

Dies motiviert den folgenden Satz.<br />

Satz 5.4 Parallele Geraden schneiden sich im selben unendlich fernen Punkt.<br />

In der projektiven Geometrie gibt es den Begriff der Parallelität nicht. Machen wir uns<br />

deshalb zunächst klar, was mit Satz 5.4 überhaupt gemeint ist:<br />

Zwei projektive Geraden schneiden sich genau dann in einem unendlich fernen<br />

Punkt, wenn sie die projektiven Entsprechungen zweier verschiedener paralleler<br />

affiner Geraden des R 2 sind. (siehe Abbildung 5.5).<br />

Beweis. Die Richtungsvekoren zweier paralleler affiner Geraden sind linear abhängig. Im<br />

R 2 sind damit auch ihre Normalvektoren linear abhängig. Zwei parallele Geraden des R 2<br />

lassen sich daher auf folgende Art anschreiben: Seien a, b, c 1 ≠ c 2 ∈ R fest. Dann sind<br />

g : ax + by + c 1 = 0 und h : ax + by + c 2 = 0 zwei verschiedene parallele affine Geraden<br />

des R 2 . Unter den projektiven Entsprechungen von g und h wollen wir nun die Geraden<br />

g p : ax + by + c 1 z = 0 und h p : ax + by + c 2 z = 0 verstehen.<br />

(⇐) Schneiden wir diese beiden projektiven Geraden mit Hilfe des Vektorprodukts.<br />

g p ∩ h p : S =<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

a<br />

⎟<br />

b<br />

c 1<br />

⎠ ×<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

a<br />

⎟<br />

b<br />

c 2<br />

⎠ =<br />

⎛<br />

⎜<br />

⎝<br />

b(c 2 − c 1 )<br />

−a(c 2 − c 1 )<br />

0<br />

⎞<br />

⎟<br />

⎠ ≡<br />

(b, −a) ist der Richtungsvektor der beiden parallelen Geraden g und h. Der Schnittpunkt<br />

{S} = g p ∩ h p hängt also nur vom Richtungsvektor der Geraden ab.<br />

(⇒) Sei umgekehrt S := (b, −a, 0) ein unendlich ferner Punkt. S erfüllt die Geradengleichungen<br />

g p und g h und ist damit Schnittpunkt zweier projektiver Geraden, die zwei<br />

⎛<br />

⎜<br />

⎝<br />

b<br />

−a<br />

0<br />

⎞<br />

⎟<br />


112 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

verschiedenen parallelen affinen Geraden entsprechen.<br />

✷<br />

Beispiel. Betrachten wir abschließend auch hierzu ein Beispiel. Es seien g und h die<br />

folgenden beiden parallelen Geraden des R 2 .<br />

g : X =<br />

(<br />

1<br />

3<br />

)<br />

+ λ<br />

(<br />

4<br />

−1<br />

)<br />

h : X =<br />

(<br />

−2<br />

2<br />

)<br />

+ µ<br />

(<br />

4<br />

−1<br />

)<br />

Abbildung 5.5: Parallele affine Geraden und ihre projektive Entsprechung<br />

Mit Hilfe des Normalvektors erhalten wir die projektiven Entsprechungen dieser Geraden:<br />

g p : x + 4y − 13z = 0, h p : x + 4y − 6z = 0. In der affinen Geometrie haben die<br />

parallelen Geraden g und h keinen Schnittpunkt. Ihre projektiven Entsprechungen g p und<br />

h p schneiden sich hingegen im unendlich fernen Punkt S = (4, −1, 0).<br />

5.5 Dualitätsprinzip<br />

Vergleichen wir die Darstellungen von Punkten und Geraden im P(R 3 ). Ein Punkt P wird<br />

in homogenen Koordinaten (p x , p y , p z ) angegeben. Diese Koordinaten kann man auch als<br />

Normalvektor einer Geraden g P : 〈X, P 〉 = 0 (vgl. Definition 5.8, p.108) auffassen, die<br />

dann die Gleichung p x · x + p y · y + p z · z = 0 hat.<br />

Das Tripel (p x , p y , p z ) können wir damit als Punkt oder als Gerade interpretieren. Dieser<br />

Zusammenhang zeigt sich in folgendem Satz.<br />

Satz 5.5 (Drei Punkte und drei Geraden Kriterium) Seien A, B, C drei Punkte<br />

und g A , g B , g C drei Geraden des P(R 3 ). A, B, C liegen genau dann auf einer Geraden,<br />

wenn g A , g B , g C durch einen Punkt gehen.


5.6. QUADRIKEN 113<br />

Beweis. (⇒) Sei g n : 〈X, n〉 = 0 jene Gerade, auf der A, B und C liegen. Es gilt daher<br />

〈A, n〉 = 〈B, n〉 = 〈C, n〉 = 0. Diese Gleichungen interpretieren wir jetzt einfach anders:<br />

Wir sehen, dass der Punkt n auf den Geraden g A , g B und g C liegt.<br />

(⇐) Sei n der Schnittpunkt der drei Geraden g A , g B , g C . Es gilt daher 〈n, A〉 = 〈n, B〉<br />

= 〈n, C〉 = 0. Die Punkte A, B und C liegen also auf der Geraden g n . ✷<br />

Diesen bemerkenswerten Zusammenhang zwischen Punkten und Geraden des P(R 3 ),<br />

oder allgemeiner zwischen Punkten und Hyperebenen eines projektiven Raumes, nennt<br />

man Dualität oder Polarität.<br />

Aus einem Satz der projektiven Geometrie bekommt man durch einfaches Ersetzen<br />

von Wörtern durch ihre duale Entsprechung einen neuen gültigen Satz. Das Drei-Punktund<br />

drei-Geraden-Kriterium ist ein Beispiel dafür. Folgende Liste zeigt, wie die dualen<br />

Entsprechungen des P(R 3 ) aussehen.<br />

Begriff<br />

Punkt<br />

Gerade<br />

verbinden<br />

schneiden<br />

liegt auf<br />

geht durch<br />

ersetzt durch<br />

Gerade<br />

Punkt<br />

schneiden<br />

verbinden<br />

geht durch<br />

liegt auf<br />

Tabelle 5.1: Dualitätsprinzip der projektiven Ebene<br />

Das Dualitätsprinzip ist ein äußerst nützliches Hilfsmittel der projektiven Geometrie.<br />

Es ist nämlich manchmal einfacher, die duale Entsprechung eines Satzes zu beweisen, als<br />

seine ursprüngliche Formulierung.<br />

Ein weiteres Beispiel sind die beiden folgenden dualen Sätze:<br />

Durch zwei Punkte geht genau eine Gerade.<br />

Auf zwei Geraden liegt genau ein Punkt.<br />

5.6 Quadriken<br />

Die projektive Entsprechung der Kegelschnitte (Definition 4.16, p.72) nennen wir Quadriken.<br />

In der projektiven Geometrie hat man ein homogenes Polynom zu betrachten, also<br />

a 11 x 2 + a 22 y 2 + a 33 z 2 + 2a 12 xy + 2a 13 xz + 2a 23 yz = 0<br />

mit a ij ∈ R. Die Koeffizienten kann man wie in der affinen Geometrie als Koeffizienten<br />

einer reellen symmetrischen 3 × 3 Matrix A = (a ij ) auffassen.


114 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Definition 5.9 Seien A = (a ij ) eine reelle symmetrische 3 × 3 Matrix und X ∈ P(R 3 ).<br />

Damit lässt sich ein homogenes quadratisches Polynom so schreiben:<br />

k A (X) := X t AX<br />

Wir definieren nun die Punktmenge Q A als Lösungsmenge einer quadratischen Gleichung.<br />

Q A := {X ∈ P(R 3 ) : k A (X) = 0}.<br />

Wenn A ≠ O ist, so nennen wir Q A eine Quadrik. Eine Quadrik heißt ausgeartet, wenn<br />

det A = 0.<br />

Wir identifizieren Q A auch mit Q A := {X ∈ R 3 : k A (X) = 0} und fassen eine Quadrik<br />

als Teilmenge des R 3 auf. Q A stellt übrigens anschaulich einen Doppelkegel im R 3 dar,<br />

dessen Spitze im Ursprung liegt. Die Kegelschnitte entstehen dann durch Schnitt des Kegels<br />

mit der Ebene z = 1. Wir setzen dazu einfach X = (x, y, 1) in k A (X) ein und erhalten<br />

a 11 x 2 + 2a 12 xy + a 22 y 2 + 2a 13 x + 2a 23 y + a 33 = 0, die allgemeine Kegelschnittgleichung.<br />

Dies erklärt auch die Bezeichnung Kegelschnitt.<br />

Abbildung 5.6: Hyperbel als Schnitt eines Doppelkegels mit der Ebene z = 1


5.6. QUADRIKEN 115<br />

5.6.1 Fünf Punkte Satz<br />

Eine Quadrik bzw. ein Kegelschnitt lässt sich durch fünf Punkte, von denen keine vier<br />

kollinear sind, eindeutig festlegen. In diesem Abschnitt wollen wir diesen Satz im Rahmen<br />

der projektiven Geometrie beweisen. Dazu benötigen wir noch zwei Hilfssätze.<br />

In der projektiven Geometrie gibt es einen natürlichen Zusammenhang zwischen Kollinearität<br />

und linearer Abhängigkeit. Drei kollineare projektive Punkte liegen in einer Ebene<br />

des R 3 . Drei Vektoren einer Ebene sind stets linear abhängig. Dieser Zusammenhang wird<br />

im Folgenden Hilfssatz ausgedrückt.<br />

Hilfssatz 5.6 Seien P, Q, R drei paarweise verschiedene Punkte des P(R 3 ). Dann sind<br />

folgende Aussagen äquivalent:<br />

1. Die Punkte P, Q, R sind kollinear.<br />

2. Die Vektoren P, Q, R sind linear abhängig.<br />

3. Es gibt homogene Koordinatendarstellungen P = P, Q = Q, R = R, sodass R =<br />

P − Q.<br />

Beweis. Vorweg eine Bemerkung zur Formulierung des Hilfssatzes: der Punkt P in (i)<br />

bezeichnet den eindimensionalen Teilraum und der Vektor P in (ii) jenen Vektor, der<br />

diesen Teilraum aufspannt.<br />

(i) ⇒ (ii): Die Verbindungsgerade P ∨Q hat die Parameterdarstellung X = λ 1·P+λ 2·Q.<br />

Da R auch auf dieser Geraden liegt, gilt R = λ 1·P+λ 2·Q und damit O = λ 1·P+λ 2·Q−1·R.<br />

Nach Definition 3.6, p.19 sind die Vektoren P, Q und R daher linear abhängig.<br />

(ii) ⇒ (iii): Sei O = λ 1·P +λ 2·Q+λ 3·R, wobei zumindest ein λ i ≠ 0 ist. Es müssen hier<br />

sogar alle λ i ≠ 0 sein. Wäre beispielsweise λ 3 = 0, dann würde −λ 1 ·P = λ 2 ·Q gelten. Die<br />

Vektoren P und Q wären dann parallel und spannten denselben eindimensionalen Teilraum<br />

auf. Kurzum: es wäre P = Q.<br />

Es gilt also −λ 3 · R = λ 1 · P + λ 2 · Q mit λ 1 , λ 2 , λ 3 ≠ 0. Wir setzen nun R := −λ 3 · R,<br />

P := λ 1 · P, Q = −λ 2 · Q und erhalten die Behauptung.<br />

(iii) ⇒ (i): Wegen R = P − Q liegt R auf der Verbindungsgeraden P ∨ Q. Da P = P,<br />

Q = Q, R = R gilt, liegt somit R auf P ∨ Q.<br />

✷<br />

Eine Gerade und eine nicht ausgeartete Quadrik haben höchstens zwei Punkte gemeinsam.<br />

Hilfssatz 5.7 Seien g eine Gerade Q A eine nicht ausgeartete Quadrik des P(R 3 ). Dann<br />

gilt #(g ∩ Q A ) ≤ 2.<br />

Beweis. Angenommen, es gäbe drei Schnittpunke P, Q und R. Wir führen nun einen<br />

Basiswechsel im R 3 durch, sodass P = e 1 = (1, 0, 0) und Q = e 2 = (0, 1, 0) sind. Da P, Q<br />

und R kollinear sind, gilt nach Hilfssatz 5.6: R = α · P + β · Q = (α, β, 0).


116 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Alle drei Punkte liegen auch auf der nicht ausgearteten Quadrik Q A , d.h. P t AP =<br />

Q t AQ = (αP + ⎛βQ) t A(αP ⎞+ βQ) = 0 mit det A ≠ 0. Sehen wir uns nun an, was dies für<br />

a b d<br />

⎜ ⎟<br />

die Matrix A = ⎝ b c e ⎠ der Quadrik Q A bedeutet.<br />

d e f<br />

⎛<br />

⎜<br />

0 = (1, 0, 0)A ⎝<br />

⎛<br />

⎜<br />

0 = (0, 1, 0)A ⎝<br />

⎛<br />

⎜<br />

0 = (α, β, 0)A ⎝<br />

1<br />

0<br />

0<br />

0<br />

1<br />

0<br />

α<br />

β<br />

0<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (1, 0, 0) ⎝<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (0, 1, 0) ⎝<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (α, β, 0) ⎝<br />

a<br />

b<br />

d<br />

b<br />

c<br />

e<br />

⎞<br />

⎟<br />

⎠ = a<br />

⎞<br />

⎟<br />

⎠ = c<br />

αa + βb<br />

αb + βc<br />

αd + βe<br />

⎞<br />

⎟<br />

⎠ = α 2 a + 2αβb + β 2 c<br />

Wir sehen, dass a = b = c = 0 gelten muss. Die Matrix A hat also die Gestalt<br />

⎛ ⎞<br />

0 0 d<br />

⎜ ⎟<br />

A = ⎝ 0 0 e ⎠.<br />

d e f<br />

Für diese Matrix gilt det A = 0, was im Widerspruch zur Voraussetzung steht, dass Q A<br />

nicht ausgeartet ist.<br />

✷<br />

Damit können wir jetzt den angekündigten Fünf-Punkte-Satz formulieren.<br />

Satz 5.8 (Fünf-Punkte-Satz) Seien fünf Punkte des P(R 3 ) gegeben. Dann existiert eine<br />

Quadrik, auf der die fünf Punkte liegen. Sind keine vier der fünf Punkte kollinear, so ist<br />

die Quadrik eindeutig bestimmt.<br />

Beweis. Wir unterscheiden zum Beweis des Satzes zwei Fälle [11, p.232].<br />

1. Fall: Mindestens drei der fünf Punkte sind kollinear. Wegen Hilfssatz 5.7 muss die<br />

Quadrik Q A entartet sein, also det A = 0. Aus der Tabelle zur Klassifikation der Kegelschnitte<br />

(p.87) ersehen wir, dass die Quadrik einem Geradenpaar entspricht. Fünf kollineare<br />

Punkte liegen auf einer eindeutig bestimmten Doppelgeraden. Bei vier kollinearen Punkten<br />

können wir beispielsweise zwei parallele Geraden durch die fünf Punkte legen. Sind keine<br />

vier der fünf Punkte kollinear, so ist ein Geradenpaar eindeutig bestimmt, wobei man<br />

eine Gerade durch drei kollineare Punkte und die andere durch die verbleibenden beiden<br />

Punkte legt.<br />

2. Fall: Keine drei der fünf Punkte sind kollinear. Nach einem Basiswechsel dürfen wir<br />

annehmen, dass e 1 = (1, 0, 0), e 2 = (0, 1, 0), e 3 = (0, 0, 1) sowie P und Q diese fünf Punkte<br />

sind. Da keine drei Punkte kollinear sind, liegen P und Q auf keiner der Koordinatenachsen.<br />

Damit sind alle Koordinaten von P und Q ungleich 0.


5.6. QUADRIKEN 117<br />

Sehen wir uns nun an, wie die Matrix A =<br />

⎛<br />

⎜<br />

0 = (1, 0, 0)A ⎝<br />

⎛<br />

⎜<br />

0 = (0, 1, 0)A ⎝<br />

⎛<br />

⎜<br />

0 = (0, 0, 1)A ⎝<br />

1<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

1<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (1, 0, 0) ⎝<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (0, 1, 0) ⎝<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = (0, 0, 1) ⎝<br />

Die Matrix A hat damit die Gestalt<br />

⎛ ⎞<br />

0 b d<br />

⎜ ⎟<br />

A = ⎝ b 0 e ⎠.<br />

d e 0<br />

a<br />

b<br />

d<br />

b<br />

c<br />

e<br />

d<br />

e<br />

f<br />

⎞<br />

⎛<br />

⎜<br />

⎝<br />

⎟<br />

⎠ = a<br />

⎞<br />

⎟<br />

⎠ = c<br />

⎞<br />

⎟<br />

⎠ = f<br />

a b d<br />

b c e<br />

d e f<br />

⎞<br />

⎟<br />

⎠ der Quadrik Q A aussieht.<br />

Setzen wir nun auch noch die Punkte P = (p 1 , p 2 , p 3 ) und Q = (q 1 , q 2 , q 3 ) in die<br />

Quadrikengleichung X t AX = 0 ein.<br />

0 = P t AP = bp 1 p 2 + dp 1 p 3 + ep 2 p 3<br />

0 = Q t AQ = bq 1 q 2 + dq 1 q 3 + eq 2 q 3<br />

Diese beiden Gleichungen interpretieren wir als zwei Geradengleichungen und setzen p :=<br />

(p 1 p 2 , p 1 p 3 , p 2 p 3 ), q := (q 1 q 2 , q 1 q 3 , q 2 q 3 ). Damit gilt<br />

⎛ ⎞<br />

b<br />

⎜ ⎟<br />

⎝ d ⎠ ∈ g p ∩ g q .<br />

e<br />

Die homogenen Koordinaten (b, d, e) liegen also im Schnitt beider Geraden. Es kann sich<br />

dabei entweder um den Nullvektor oder um den eindeutigen Schnittpunkt p × q (Satz 5.3,<br />

p.109) handeln. Wir werden jetzt noch zeigen, dass wirklich ein Schnittpunkt vorliegt und<br />

sogar alle Komponenten von (b, d, e) = p × q ungleich 0 sind. Damit ist dann die Matrix<br />

A der Quadrik eindeutig festgelegt, und es handelt sich wegen det A = 2bde ≠ 0 um eine<br />

nicht ausgeartete Quadrik.<br />

Da keine drei Punkte kollinear sind, sind die Vektoren e 1 = (1, 0, 0), P, Q sowie e 2 =<br />

(0, 1, 0), P, Q und e 3 = (0, 0, 1), P, Q nach Hilfssatz 5.6 jeweils linear unabhängig. Damit<br />

ist die Determinante jeweils ungleich 0 (Bemerkung 3.4, p.28), und wir erhalten unter<br />

Verwendung des Spatproduktes (Satz 4.4):<br />

0 ≠ det(e 1 , P, Q) = 〈e 1 , P × Q〉 = p 2 q 3 − p 3 q 2<br />

0 ≠ det(e 2 , P, Q) = 〈e 2 , P × Q〉 = p 3 q 1 − p 1 q 3<br />

0 ≠ det(e 3 , P, Q) = 〈e 3 , P × Q〉 = p 1 q 2 − p 2 q 1


118 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

Wir sehen, dass alle Koordinaten von P × Q ungleich 0 sind. Betrachten wir jetzt den<br />

möglichen Schnittpunkt p × q:<br />

⎛<br />

⎞ ⎛<br />

⎞<br />

p 1 p 3 q 2 q 3 − p 2 p 3 q 1 q 3 p 3 q 3 (p 1 q 2 − p 2 q 1 )<br />

⎜<br />

⎟ ⎜<br />

⎟<br />

p × q = ⎝ p 2 p 3 q 1 q 2 − p 1 p 2 q 2 q 3 ⎠ = ⎝ p 2 q 2 (p 3 q 1 − p 1 q 3 ) ⎠<br />

p 1 p 2 q 1 q 3 − p 1 p 3 q 1 q 2 p 1 q 2 (p 2 q 3 − p 3 q 2 )<br />

Da alle Koordinaten von P und Q und auch jene von P ×Q ungleich 0 sind, gilt dies auch<br />

für p × q. Es handelt sich daher wirklich um einen eindeutigen Schnittpunkt der beiden<br />

angegebenen Geraden, durch welchen die Koeffizienten der Matrix A eindeutig festgelegt<br />

sind.<br />

✷<br />

Eine Methode zur Berechnung der Matrix einer Quadrik aus fünf Punkten wird im<br />

Abschnitt 6.3.3, p.132 vorgestellt. An dieser Stelle folgern wir aus dem Fünf-Punkte-Satz,<br />

dass zwei Quadriken höchstens vier Schnittpunkte haben können.<br />

Folgerung 5.3 Seien Q A und Q B zwei verschiedene Quadriken, von denen eine nicht<br />

ausgeartet ist. Dann gilt #(Q A ∩ Q B ) ≤ 4.<br />

Beweis. Von den Schnittpunkten können keine drei kollinear sein, da sonst nach dem<br />

Hilfssatz 5.7 beide Quadriken ausgeartet wären.<br />

Nehmen wir nun an, es gäbe fünf Schnittpunkte. Nach dem Fünf-Punkte-Satz (Satz 5.8)<br />

wären aber beide Quadriken eindeutig durch die Schnittpunkte festgelegt, und es gilt Q A =<br />

Q B . Dies steht im Widerspruch zur Annahme zweier verschiedener Quadriken. ✷<br />

Wie man die Schnittpunkte zweier Quadriken berechnen kann, behandeln wir in Abschnitt<br />

6.3.4, p.137.<br />

5.6.2 Tangenten und Polare<br />

Wir greifen hier nochmals das im Rahmen der affinen Geometrie behandelte Problem<br />

auf, wie man Tangenten an einen Kegelschnitt legt. Dort hatten wir unterschieden, ob<br />

die Tangenten durch einen gegebenen Punkt gehen oder eine bestimmte Richtung haben<br />

sollten (vgl. Abschnitt 4.5.6, p.92).<br />

In der projektiven Geometrie ist diese Fallunterscheidung nicht notwendig. Dazu fassen<br />

wir eine affine Richtung v = (x, y) einfach als unendlich fernen Punkt (x, y, 0) auf. Dies ist<br />

auch intuitiv klar: Wir legen stets Tangenten durch einen Punkt. Sind die beiden Tangenten<br />

parallel, so liegt dieser Punkt im Unendlichen.<br />

Im Folgenden zeigen wir, dass damit die affinen Definitionen der Polaren eines Punkt<br />

(Definition 4.20, p.95) und der Polaren einer Richtung (Definition 4.22, p.99) vereinheitlicht<br />

werden können.<br />

Definition 5.10 Seien Q A eine Quadrik und P ∈ P(R 3 ). Dann heißt die Gerade X t · A ·<br />

P = 0 die Polare von P bezüglich Q A .


5.6. QUADRIKEN 119<br />

Wir zeigen jetzt, dass diese Definition den beiden oben genannten affinen Definition<br />

entspricht. Betrachten wir zunächst die homogene Entsprechung ( der)<br />

Polare zu einem inhomogenen<br />

Punkt P = (p x , p y ), wobei X = (x, y) und A = sind.<br />

S a<br />

a t α<br />

0 = Xh t AP h<br />

( ) (<br />

X<br />

=<br />

1<br />

( ) (<br />

X<br />

=<br />

1<br />

S<br />

a t<br />

) (<br />

a<br />

α<br />

)<br />

SP + a<br />

a t P + α<br />

= (SP + a) t X + a t P + α<br />

P<br />

1<br />

= P t SX + a t X + a t P + α<br />

= k(X, P)<br />

)<br />

Wir kommen so tatsächlich zur Definition 4.20 der Polaren eines Punktes. Genauso erhalten<br />

wir zur Richtung v = (v x , v y ) unter Verwendung des entsprechenden unendlich fernen<br />

Punktes P h = (v x , v y , 0) die Definition 4.22 einer Polaren der Richtung v:<br />

0 = XhAP t<br />

( ) h<br />

(<br />

X<br />

=<br />

1<br />

( ) (<br />

X<br />

=<br />

1<br />

= X t Sv + a t v<br />

S<br />

a t<br />

Sv<br />

a t v<br />

) (<br />

a<br />

α<br />

)<br />

v<br />

0<br />

)<br />

Möchte man Tangenten durch einen Punkt oder mit bestimmter Richtung an einen<br />

Kegelschnitt legen, so verwendet man dazu die entsprechende Polare. Die Schnittpunkte<br />

der Polaren mit einem Kegelschnitt sind nämlich die gesuchten Tangentenberührpunkte<br />

(Sätze 4.16 und 4.18). Da wir in der projektiven Geometrie nur mehr einen Begriff der<br />

Polaren haben, fallen diese beiden Sätze zusammen. Durch Verwendung homogener Koordinaten<br />

lassen sich die Koeffizienten der Polaren eines Punktes (z = 1) oder einer Richtung<br />

des R 2 (z = 0) sehr einfach als A · (x, y, z) t berechnen.<br />

Beispiel. Wir bestimmen hier nochmals die Polarengleichungen der affinen Beispiele aus<br />

Abschnitt 4.5.6.<br />

Gesucht ist die Polare zum Punkt P = (−2, 1) bezüglich der Parabel y 2 − 4x = 0.<br />

p : X t · A · P = 0<br />

⎛<br />

0 0 −2<br />

X t ⎜<br />

⎝ 0 1 0<br />

−2 0 0<br />

⎞⎛<br />

⎟⎜<br />

⎠⎝<br />

−2<br />

1<br />

1<br />

⎞<br />

⎟<br />

⎠ = 0


120 KAPITEL 5. PROJEKTIVE GEOMETRIE<br />

X t ⎛<br />

⎜<br />

⎝<br />

−2<br />

1<br />

4<br />

⎞<br />

⎟<br />

⎠ = 0<br />

p : −2x + y + 4 = 0<br />

Betrachten wir nun die Polare der Richtung v = (1, 0) bezüglich der Ellipse 9x 2 +16y 2 =<br />

144.<br />

p : X t · A · P = 0<br />

⎛<br />

9 0 0<br />

X t ⎜<br />

⎝ 0 16 0<br />

X t ⎛<br />

⎜<br />

⎝<br />

p : 9x = 0<br />

0 0 −144<br />

⎞<br />

9<br />

⎟<br />

0 ⎠ = 0<br />

0<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎠ ⎝<br />

1<br />

0<br />

0<br />

⎞<br />

⎟<br />

⎠ = 0


Kapitel 6<br />

Geometrische Objekte der Ebene<br />

Mit Hilfe des Wissens aus der linearen Algebra (3), affinen Geometrie (4) und projektiven<br />

Geometrie (5) wollen wir jetzt Punkte, Geraden und Kegelschnitte des R 2 behandeln.<br />

Dabei werden die früheren Ergebnisse angewandt und teilweise ergänzt.<br />

6.1 Punkte<br />

6.1.1 Darstellung<br />

Wir wollen die Punkte des R 2 wahlweise in cartesischen oder Polarkoordinaten angeben.<br />

Nach Bemerkung 3.2, p.22 entsprechen sich Polarkoordinaten und cartesische Koordinaten<br />

eineindeutig. Die einzige Außnahme bildet der Nullpunkt, dem wir jetzt einfach die<br />

Polarkoordinaten (0; 0) zuordnen wollen.<br />

Aus dem Beweis der genannten Bemerkung wissen wir auch schon, wie sich cartesische<br />

und Polarkoordinaten ineinander umrechnen lassen.<br />

P =<br />

(<br />

polar ↦→ cartesisch<br />

( )<br />

r cosϕ<br />

P = (r; ϕ) ↦→ P =<br />

r sin ϕ<br />

cartesisch ↦→<br />

x<br />

y<br />

6.1.2 Mittelpunkt<br />

polar<br />

P = O ↦→ P = (0; 0)<br />

)<br />

{<br />

(√ )<br />

≠ O ↦→ P = x2 + y 2 ; ϕ , wobei ϕ =<br />

arccos x r<br />

: y ≥ 0<br />

2π − arccos x r<br />

: y < 0<br />

Bemerkung 6.1 Seien zwei verschiedene Punkte A und B des R 2 gegeben. Dann ist der<br />

Mittelpunkt M dieser beiden Punkte gegeben als<br />

M = A + B .<br />

2<br />

121


122 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Beweis. Nach Definition 4.17, p.77 des Mittelpunkts einer Punktmenge muss für alle<br />

u ∈ R 2 : M + u ∈ {A, B} ⇒ M − u ∈ {A, B} gelten. Sei M + u = A (der Fall M + u = B<br />

geht analog). Damit M ein Mittelpunkt ist, muss er entweder M −u = A oder M −u = B<br />

erfüllen.<br />

Im ersten Fall wäre A = M + u = M − u und damit M = A. A kann jedoch kein<br />

Mittelpunkt sein, da für u = −→ AB zwar M + u = A + −→ AB = B ∈ {A, B} gilt, aber<br />

M −u = A− −→ AB = 2A−B kein Element von {A, B} ist. Es bleibt also nur die Möglichkeit<br />

M − u = B. Durch Addieren der folgenden beiden Ausdrücke erhalten wir daraus den<br />

eindeutig bestimmten Mittelpunkt von {A, B}.<br />

M + u = A<br />

M − u = B<br />

2M = A + B<br />

M<br />

= A+B<br />

2<br />

}<br />

+<br />

✷<br />

6.1.3 Kollinearität<br />

Punkte heißen kollinear, wenn sie alle auf einer Geraden liegen (Definition 4.5, p.47). Wie<br />

kann man dies für drei gegebene Punkte entscheiden?<br />

Bemerkung 6.2 Drei Punkte A, B, C in homogenen Koordinaten sind genau dann kollinear,<br />

wenn det(A, B, C) = 0 ist.<br />

Beweis. Seien A, B, C kollinear. Das heißt, dass C auf der Verbindungsgeraden A ∨ B<br />

durch A und B liegt. Ein Punkt X liegt nach Folgerung 5.2, p.108 genau dann auf A ∨ B,<br />

wenn er die Gleichung det(A, B, X) = 0 erfüllt. C liegt also genau dann auf A ∨ B, wenn<br />

det(A, B, C) = 0.<br />

✷<br />

6.2 Geraden<br />

6.2.1 Darstellung<br />

Es seien zwei Punkte A = (a x , a y ) und B = (b x , b y ) des R 2 gegeben. Die Gerade g(A, B)<br />

durch diese beiden Punkte können wir in Parameterdarstellung und als Gleichung angeben.<br />

Parameterdarstellung<br />

Eine affine Gerade durch die Punkte A und B ist ein eindeutig festgelegter eindimensionaler<br />

affiner Raum mit einer Parameterdarstellung der Gestalt X = A + λ −→ AB (vgl. affine<br />

Räume 4.1, p.45).<br />

( ) ( )<br />

a x b x − a x<br />

g(A, B) : X = + λ<br />

a y b y − a y


6.2. GERADEN 123<br />

Den Vektor −→ g = −→ AB =<br />

(<br />

)<br />

b x − a x<br />

nennen wir dabei den Richtungsvektor von<br />

b y − a y<br />

( ) ( )<br />

−g y a y − b y<br />

= .<br />

g x b x − a x<br />

g(A, B). Der Normalvektor unserer Gerade ist damit n = g ⊥ =<br />

( )<br />

Definition 6.1 Sei −→ g x<br />

g = der Richtungsvektor einer Geraden g. Dann ist die<br />

g y<br />

Steigung k von g wie folgt definiert.<br />

k =<br />

{<br />

gy<br />

g x<br />

: g x ≠ 0<br />

∞ : g x = 0<br />

Die Steigung von g(A, B) ist k = by−ay<br />

b x−a x<br />

, sofern b x ≠ a x .<br />

Geradengleichung<br />

Wie bekommt man die Gleichung einer Geraden durch die Punkte A und B? Die projektive<br />

Verbindungsgerade A ∨ B hat die Gleichung 〈X, A × B〉 = 0 (Bemerkung 5.1, p.107).<br />

Wir verwenden also die homogenen Koordinaten der Punkte A, B und erhalten durch<br />

das Vektorprodukt die Koeffizienten (a, b, c) = A × B der Geradengleichung g(A, B) :<br />

ax + by + c = 0.<br />

∣ ∣ ∣ a y b ∣∣∣∣<br />

y<br />

g(A, B) :<br />

∣ 1 1 ∣ · x − a x b ∣∣∣∣<br />

x<br />

1 1 ∣ · y + a x b ∣∣∣∣<br />

x<br />

= 0<br />

a y b y<br />

g(A, B) : (a y − b y ) · x + (b x − a x ) · y + (a x b y − a y b x ) = 0<br />

Das selbe Ergebnis bekommt man natürlich auch durch die affine Normalvektorform<br />

〈 −−→ AX, n〉 = 0 bzw. 〈X, n〉 − 〈A, n〉 = 0 (Definition 4.8, p.49). Durch Koeffizientenvergleich<br />

sehen wir, dass n = (a, b), und c = −〈A, n〉 gilt.<br />

Parallele und orthogonale Geraden<br />

Wir können eine Gerade auch durch Angabe eines Punktes und einer parallelen bzw.<br />

orthogonalen Geraden festlegen.<br />

Bemerkung 6.3 Seien g : ax + by + c = 0 eine Gerade und P = (p x , p y ) ein Punkt des<br />

R 2 . Seien g ‖ eine zu g parallele Gerade und g ⊥ eine zu g orthogonale Gerade, die beide<br />

durch den Punkt P gehen. Ihre Gleichungen sind gegeben als<br />

g ‖ : ax + by − (p x · a + p y · b) = 0.<br />

g ⊥ : −bx + ay + (p x · b − p y · a) = 0.


124 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Beweis. (a, b) ist ein Normalvektor von g ‖ . Die Gerade g ‖ hat daher die Normalvektorform<br />

〈 −−→ PX, (a, b)〉 = 0 ⇔ 〈X, (a, b)〉 − 〈P, (a, b)〉 = 0 ⇔ ax + by − (p x · a + p y · b) = 0.<br />

Die Gerade g ⊥ hat den Richtungsvektor (−b, a) von g als Normalvektor. Durch Einsetzen<br />

in die Normalvektorform erhalten wir auch hier die Behauptung.<br />

✷<br />

Im Fall der parallelen Gerade kann natürlich g = g ‖ eintreten, wenn P ein Punkt von<br />

g ist.<br />

Streckensymmetrale<br />

Die Streckensymmetrale zweier Punkte A, B stellt eine spezielle Art einer orthogonalen<br />

Geraden dar. Sie verläuft durch den Mittelpunkt von A und B und steht normal zum<br />

Vektor −→ AB.<br />

Abbildung 6.1: Streckensymmetrale<br />

Definition 6.2 Die Menge aller Punkte X der Ebene, die von zwei verschiedenen festen<br />

Punkten A und B gleichen Abstand haben, nennen wir Streckensymmetrale oder Bisektor<br />

von A und B. Als Bezeichnung wählen wir s AB .<br />

s AB : d(A, X) = d(B, X)<br />

Wie sieht nun die Gleichung der Streckensymmetrale zu gegebenen Punkten A und B<br />

aus?<br />

Bemerkung 6.4 Seien A = (a x , a y ), B = (b x , b y ) zwei Punkte des R 2 , n = (n x , n y ) :=<br />

−→<br />

AB ihr Verbindungsvektor und M = A+B ihr Mittelpunkt. Dann ist die Gleichung der<br />

2<br />

Streckensymmetrale gegeben als<br />

〈 −−→ MX, n〉 = 0 bzw. 2n x · x + 2n y · y = (a x + b x )n x + (a y + b y )n y<br />

Beweis. Gehen wir von der Definition 6.2 der Streckensymmetrale aus. Durch Umformung<br />

erhalten wir die gewünschten Ausdrücke in den Zeilen 9 und 7.<br />

d(A, X) = d(B, X)<br />

d(A, X) 2 = d(B, X) 2


6.2. GERADEN 125<br />

‖ −→ AX‖<br />

2<br />

= ‖ −−→ BX‖ 2<br />

(x − a x ) 2 + (y − a y ) 2 = (x − b x ) 2 + (y − b y ) 2<br />

2(b x − a x )x + 2(b y − a y )y = b 2 x − a2 x + b2 y − a2 y<br />

2(b x − a x )x + 2(b y − a y )y = (b x + a x )(b x − a x ) + (b y + a y )(b y − a y )<br />

2n x · x + 2n y · y = (a x + b x )n x + (a y + b y )n y<br />

2〈X, n〉 = 〈A + B, n〉<br />

〈 −−→ MX, n〉 = 0<br />

✷<br />

6.2.2 Abstand Punkt - Gerade<br />

Mit Hilfe des inneren Produkts lässt sich der Normalabstand eines Punktes Q von einer<br />

Geraden g durch den Punkt P mit Einheitsnormalvektor −→ n 0 angeben. Dabei verwenden wir<br />

die geometrische Bedeutung des inneren Produkts: Seien −→ PQ ein Vektor beliebiger Länge<br />

und n 0 ein Einheitsvektor. Dann entspricht die Zahl 〈 −→ PQ, n 0 〉 der Länge der Projektion<br />

von −→ PQ auf n. Die Länge dieser Projektion ist gerade der gesuchte Abstand des Punktes<br />

Q von der Geraden g (siehe Abbildung 6.2).<br />

Abbildung 6.2: Abstand d eines Punktes Q von einer Geraden g<br />

Definition 6.3 Sei g eine Gerade des R 2 durch den Punkt P mit dem Einheitsnormalvektor<br />

n 0 . Dann verstehen wir unter dem Abstand des Punktes Q von der Geraden g die<br />

reelle Zahl d(Q, g) := | 〈 −→ PQ, n 0 〉|.<br />

Für die Abstandsberechnung brauchen wir also einen Punkt der Geraden und ihren<br />

Normalvektor. Wir können den Abstand aber auch direkt mit Hilfe der Geradengleichung<br />

bestimmen, ohne einen konkreten Punkt angeben zu müssen.


126 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Bemerkung 6.5 Seien g : ax + by + c = 0 eine Gerade und Q = (q x , q y ) ein Punkt des<br />

R 2 . Dann gilt:<br />

d(Q, g) = | a · q x + b · q y + c<br />

√<br />

a2 + b 2 |.<br />

Beweis. Eine Geradengleichung lässt sich in Normalvektorform (Definition 4.8, p.49)<br />

〈 −−→ PX, n〉 = 0 bzw. 〈X, n〉 − 〈P, n〉 = 0 schreiben, wobei P ein Punkt der Geraden ist.<br />

Durch Koeffizientenvergleich sehen wir, dass n = (a, b), und c = −〈P, n〉 gilt. Betrachten<br />

wir nun den Abstand eines Punktes Q zu g.<br />

d(Q, g) = | 〈 −→ PQ, n 0 〉|<br />

1<br />

= |<br />

‖ n‖ 〈−→ PQ, n〉|<br />

1<br />

= | (〈Q, n〉 − 〈P, n〉) |<br />

‖ n‖<br />

= | a · q x + b · q y + c<br />

√ |<br />

a2 + b 2<br />

✷<br />

6.2.3 Lagebeziehungen von Geraden<br />

Zwei affine Geraden des R 2 haben entweder einen eindeutigen Schnittpunkt, oder sie sind<br />

parallel oder identisch. (Bemerkung 4.1, p.47). Wir verwenden hier die Ergebnisse der<br />

projektiven Geometrie des Abschnitts 5.4.1, p.109 über den Schnitt projektiver Geraden.<br />

Folgerung 6.1 Seien g : a 1 x + a 2 y + a 3 = 0 und h : b 1 x + b 2 y + b 3 = 0 zwei Geraden des<br />

R 2 und<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

s x a 1 b 1 a 2 b 3 − a 3 b 2<br />

⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟<br />

S = ⎝ s y ⎠ := ⎝ a 2 ⎠ × ⎝ b 2 ⎠ = ⎝ a 3 b 1 − a 1 b 3 ⎠ .<br />

s z a 3 b 3 a 1 b 2 − a 2 b 1<br />

Dann gilt für die Lagebeziehung der beiden Geraden g und h:<br />

identisch g = h ⇔ S = O<br />

parallel g ‖ h ⇔ s z = 0, s x · s y ≠ 0<br />

{( )}<br />

sx<br />

schneidend g ∩ h = sz<br />

s y<br />

⇔ s z ≠ 0<br />

s z<br />

Beweis. Die Kriterien für g = h und g ∩h folgen aus dem Beweis von Satz 5.3, p.109 über<br />

den Schnitt zweier projektiver Geraden. Die Aussage zur Parallelität liefert uns Satz 5.4,<br />

p.111: parallele Geraden schneiden sich in einem unendlich fernen Punkt. ✷<br />

Zwei schneidende Geraden schließen zwei Winkel α und β ein, wobei α + β = π gilt<br />

(siehe Abbildung 6.3. Wir wollen den kleineren dieser beiden als Schnittwinkel der beiden<br />

Geraden definieren.


6.2. GERADEN 127<br />

Abbildung 6.3: Schnittwinkel zweier Geraden (α + β = π)<br />

Definition 6.4 Unter dem Winkel zwischen zwei Geraden g und h mit Richtungsvektoren<br />

−→ −→ g und h verstehen wir die eindeutig bestimmte Zahl ϕ mit 0 ≤ ϕ ≤<br />

π<br />

gegeben durch<br />

2<br />

cosϕ = | 〈−→ g , −→ h 〉|<br />

‖ −→ g ‖‖ −→ h ‖ .<br />

Wenn sich die beiden Geraden schneiden, sprechen wir vom Schnittwinkel.<br />

Bemerkung 6.6 Seien g : a 1 x + a 2 y + a 3 = 0 und h : b 1 x + b 2 y + b 3 = 0 zwei Geraden<br />

des R 2 . Dann ist der Winkel ∡(g, h) gegeben als<br />

∡(g, h) = arccos<br />

| a 1 b 1 + a 2 b 2 |<br />

√ √ .<br />

a<br />

2<br />

1 + a 2 2 b<br />

2<br />

1 + b 2 2<br />

Beweis. Aus den Gleichungen lesen wir die Normalvketoren −→ g ⊥ = (a 1 , a 2 ) und −→ h ⊥ = (b 1 , b 2 )<br />

ab. Wir nehmen als Richtungsvektoren −→ g = (−a 2 , a 1 ) und −→ h = (−b 2 , b 1 ). Damit gilt nach<br />

der Definition 6.4 für den Winkel zwischen g und h:<br />

cos∡(g, h) = | 〈−→ g , −→ h 〉|<br />

‖ −→ g ‖‖ −→ h ‖ = | a 1 b 1 + a 2 b 2 |<br />

√ √<br />

a<br />

2<br />

1 + a 2 2 b<br />

2<br />

1 + b 2 2<br />

Zwei Geraden stehen genau dann normal zueinander, wenn a 1 b 1 + a 2 b 2 = 0 ist. Für<br />

zwei parallele Geraden macht es Sinn, vom Abstand zwischen ihnen zu sprechen.<br />

Definition 6.5 Seien g : X = P + λ −→ g und h : X = Q + λ −→ h zwei Geraden des R 2 . Dann<br />

verstehen wir unter dem Abstand von g und h die reelle Zahl<br />

{<br />

d(Q, g) : g ‖ h<br />

d(h, g) :=<br />

0 : g ∩ h ≠ O<br />

Der Abstand zwischen zwei parallelen Geraden wird auf den Abstand eines Punktes Q<br />

der Geraden g von der Geraden h zurückgeführt. Wie sich dieser berechnen lässt, wissen<br />

wir aus Bemerkung 6.5.<br />


128 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

6.2.4 Winkelsymmetrale<br />

Definition 6.6 Seien P, S, Q drei nicht kollineare Punkte des R 2 . Dann wollen wir unter<br />

der Winkelsymmetrale von P, S, Q die Gerade w PSQ : X = S + λ( −→ SP 0 + −→ SQ 0 ) verstehen,<br />

wobei ‖ −→ SP 0 ‖ = ‖ −→ SQ 0 ‖ = 1 sind.<br />

Abbildung 6.4: Winkelsymmetrale<br />

Liegen die Punkte P, S, Q auf einer Geraden, ist hier der Fall −→ SP 0 + −→ SQ 0 = O problematisch.<br />

Hier degeneriert die Richtung der Winkelsymmetrale zum Nullvektor und ist<br />

damit nicht mehr definiert. In diesem Fall kann man die Winkelsymmetrale als w PSQ :<br />

X = S + λ −→ SP n definieren und die folgende Bemerkung gilt auch.<br />

Die Winkelsymmetrale halbiert einen Winkel zwischen zwei Geraden. Ihre Punkte haben<br />

damit von beiden Geraden den selben Abstand.<br />

Bemerkung 6.7 Sei w PSQ die Winkelsymmetrale von P, S, Q, dann gilt:<br />

1. w PSQ = w QSP<br />

2. ∡(S ∨ P, w PSQ ) = ∡(S ∨ Q, w PSQ )<br />

3. ∀X ∈ w PSQ : d(X, S ∨ P) = d(X, S ∨ Q)<br />

Beweis. (1) Die erste Behauptung ist wegen X = S +λ( −→ SP 0 + −→ SQ 0 ) = S +λ( −→ SQ 0 + −→ SP 0 )<br />

offensichtlich.<br />

(2) Der Schnittwinkel zweier Geraden ist der Winkel zwischen ihren Richtungsvektoren<br />

(Definition 6.4, p.127). Nehmen wir die Einheitsvektoren −→ SP 0 und −→ SQ 0 als Richtungsvektoren<br />

von S ∨ P und S ∨ Q und überprüfen damit die Aussage.<br />

∡( −→ SP 0 , −→ SQ 0 + −→ SP 0 ) =<br />

〈−→ SP 0 , −→ SQ 0 + −→ SP 0 〉<br />

‖ −→ SP 0 ‖‖ −→ SQ 0 + −→<br />

= 〈−→ SP 0 , −→ SQ 0 〉 + 1<br />

‖ −→ SQ 0 + −→ SP 0 ‖<br />

SP 0 ‖ = 〈−→<br />

SP 0 , −→ SQ 0 〉 + 〈 −→ SP 0 , −→ SP 0 〉<br />

1 · ‖ −→ SQ 0 + −→ SP 0 ‖


6.3. KEGELSCHNITTE 129<br />

∡( −→ SQ 0 , −→ SQ 0 + −→ SP 0 ) =<br />

〈−→ SQ 0 , −→ SQ 0 + −→ SP 0 〉<br />

‖ −→ SQ 0 ‖‖ −→ SQ 0 + −→<br />

= 1 + 〈−→ SP 0 , −→ SQ 0 〉<br />

‖ −→ SQ 0 + −→ SP 0 ‖<br />

SP 0 ‖ = 〈−→<br />

SQ 0 , −→ SQ 0 〉 + 〈 −→ SQ 0 , −→ SP 0 〉<br />

‖ 1 + −→ SQ 0 + −→ SP 0 ‖<br />

(3) Seien p ⊥ , q ⊥ die Einheitsnormalvektoren der Geraden S ∨P und S ∨Q. Die Winkelsymmetrale<br />

ist damit w PQS : X = S + λ(p + q). Wir zeigen zunächst | 〈q, p ⊥ 〉| = | 〈p, q ⊥ 〉|.<br />

( ) ( )<br />

q x −p y<br />

| 〈q, p ⊥ 〉| = | 〈 , 〉| = | p x q y − p y q x | = | − p x q y + p y q x |<br />

q y p x<br />

= | 〈<br />

(<br />

)<br />

p x<br />

,<br />

p y<br />

(<br />

−q y<br />

q x<br />

)<br />

〉| = | 〈p, q ⊥ 〉|<br />

Jetzt betrachten wir die Abstände der Punkte auf der Winkelsymmetralen von S ∨ P<br />

und S ∨ Q.<br />

d(X, S ∨ P) = | 〈 −→ SX, p ⊥ 〉| = | 〈X − S, p ⊥ 〉| = | 〈λ(p + q), p ⊥ 〉|<br />

= | λ(〈p, p ⊥ 〉 + 〈q, p ⊥ 〉)| = | λ〈q, p ⊥ 〉| = | λ〈p, q ⊥ 〉|<br />

= | λ(〈p, q ⊥ 〉 + 〈q, q ⊥ 〉)| = | 〈λ(p + q), p ⊥ 〉| = | 〈 −→ SX, p ⊥ 〉|<br />

= d(X, S ∨ Q)<br />

Man kann Winkelsymmetralen auch als die Menge jener Punkte definieren, die von<br />

zwei gegebenen Geraden den selben Abstand haben. Dabei entstehen jedoch immer zwei<br />

Winkelsymmetralen, nämlich w PSQ und eine dazu orthogonale Gerade durch S. Unsere<br />

Definition liefert eine eindeutige Winkelsymmetrale.<br />

✷<br />

6.3 Kegelschnitte<br />

Wie man den Typ und charakteristische Größen wie Hauptachsen, Brenn- und Scheitelpunkte<br />

eines Kegelschnitts aus seiner Gleichung erhält, haben wir in Abschnitt 4.5.3 genau<br />

behandelt. Hier wollen wir uns mit der geometrischen Festlegung von Kegelschnitten<br />

beschäftigen.<br />

6.3.1 Kreis durch drei Punkte<br />

Ein Kreis lässt sich durch drei Punkte, die auf ihm liegen sollen, eindeutig festlegen. Wie<br />

dies funktioniert, werden wir uns nun kurz überlegen.<br />

Definition 6.7 Ein Kreis ist die Menge aller Punkte X der Ebene, die von einem Punkt<br />

M (Mittelpunkt), den festen Abstand r (Radius) haben:<br />

k : d(M, X) = r.


130 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Aus der Definition bekommen wir sofort die Gleichungsdarstellung eines Kreises. Seien<br />

dazu der Mittelpunkt M = (m x , m y ) und der Radius r gegeben:<br />

d(M, X) = r<br />

d(M, X) 2 = r 2<br />

‖ −−→ MX‖ 2 = r 2<br />

(x − m x ) 2 + (y − m y ) 2 = r 2 .<br />

Wie man jenen Kreis bekommt, der durch drei gegebene Punkte verläuft, sehen wir<br />

im Beweis des folgenden Satzes. Anschaulich haben wir es dabei mit der Situation in<br />

Abbildung 6.5 zu tun.<br />

Abbildung 6.5: Kreis durch drei Punkte<br />

Satz 6.1 Es gibt genau einen Kreis durch drei nicht kollineare Punkte.<br />

Beweis. Seien A, B, C drei Punkte, die nicht auf einer Geraden liegen. Damit sind die<br />

Vektoren −→ AB und −→ BC nicht parallel. Wir suchen nun einen eindeutigen Mittelpunkt M<br />

eines Kreises, der durch die Punkte A, B und C verläuft.<br />

Es soll nach Definition 6.7 d(A, M) = d(B, M) = d(C, M) gelten. Nach Definition 6.2<br />

liegt ein Punkt X auf der Streckensymmetrale s PQ , wenn d(P, X) = d(Q, X) gilt. Der<br />

Punkt M muss daher auf den Streckensymmetralen s AB und s BC liegen (und natürlich<br />

auch auf s AC , die wir hier jedoch nicht benötigen). Nachdem −→ AB und −→ BC nicht parallel<br />

sind, sind auch s AB und s BC nicht parallel. Nach Bemerkung 4.1, p.47 haben diese beiden<br />

Geraden damit einen eindeutigen Schnittpunkt.<br />

Wir setzen nun {M} := s AB ∩ s BC und r := d(M, A) und erhalten den gewünschten<br />

Kreis durch A, B, C.<br />

✷<br />

Welche beiden Streckensymmetralen man schneidet, um den Mittelpunkt zu erhalten,<br />

ist egal. Bei einer Implementierung wird man jedoch versuchen, einen schleifenden Schnitt<br />

zu vermeiden, und daher die beiden Streckensymmetralen mit dem größten Schnittwinkel<br />

nehmen.


6.3. KEGELSCHNITTE 131<br />

6.3.2 Parabel zu Leitgerade und Brennpunkt<br />

Eine Parabel ist die Menge aller Punkte X der Ebene, für die die Abstände von einer<br />

gegebenen Geraden, der Leitgeraden l, und einem gegebenen Punkt, dem Brennpunkt F,<br />

gleich groß sind, also d(X, l) = d(X, F) (vgl. p. 70).<br />

Wir suchen jetzt nach der Gleichung einer Parabel, wenn Leitgerade und Brennpunkt<br />

gegeben sind.<br />

Bemerkung 6.8 Seien l : ax + by + c = 0 die Leitgerade und F = (f x , f y ) der Brennpunt<br />

einer Parabel. Dann ist die Matrix A dieser Parabel gegeben als<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

⎞<br />

b 2 −ab −((a 2 + b 2 )f x + ac)<br />

−ab a 2 −((a 2 + b 2 ⎟<br />

)f y + bc) ⎠<br />

−((a 2 + b 2 )f x + ac) −((a 2 + b 2 )f x + ac) (a 2 + b 2 )(fx 2 + f2 y ) − c2<br />

Beweis. Zum Nachweis dieser Behauptung gehen wir von der Parabeldefinition aus und<br />

verwenden Bemerkung 6.5, p.125 (Abstand Punkt - Gerade) und Definition 4.12, p.58<br />

(Abstand Punkt - Punkt).<br />

d(X, l) = d(X, F)<br />

d(X, l) 2 = d(X, F) 2<br />

(ax + by + c) 2<br />

a 2 + b 2 = (x − f x ) 2 + (y − f y ) 2<br />

(ax + by + c) 2 = (a 2 + b 2 )((x − f x ) 2 + (y − f y ) 2 )<br />

0 = b 2 x 2 − 2abxy + a 2 y 2 − 2((a 2 + b 2 )f x + ac)x<br />

−2((a 2 + b 2 )f y + bc)y + (a 2 + b 2 )(f 2 x + f 2 y) − c 2<br />

Aus dieser quadratischen Gleichung lesen wir die Koeffizienten der angegebenen Matrix<br />

ab.<br />

✷<br />

Im Fall F ∈ l erhält man übrigens die Matrix einer Doppelgeraden. Wie findet man im<br />

Fall F /∈ l den Parameter p und Scheitelpunkt S dieser Parabel?<br />

Eine Möglichkeit haben wir bei der Klassifikation der Kegelschnitte (p.4.5.3) kennengelernt:<br />

wir bringen die Matrix auf Normalform und lesen p ab. Die dabei notwendige<br />

Translation liefert uns den Scheitel S.<br />

Wenn man den Brennpunkt und die Leitgerade einer Parabel bereits kennt, können p<br />

und S aber viel einfacher berechnet werden: Der Scheitel S einer Parabel ist nämlich der<br />

Mittelpunkt zwischen Brennpunkt und Leitgerade. Es gilt damit S = F − p 2 l ⊥, wobei p der<br />

vorzeichenbehaftete Abstand d(F, l) des Brennpunkts von der Leitgeraden ist.<br />

Durch Verwendung von Bemerkung 6.5, p.125 für d(F, l) erhalten wir folgende Formel<br />

für die homogenen Koordinaten des Scheitelpunkts, die ohne Division auskommt. Dabei


132 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

sind F = (f x , f y , f z ) die homogenen Koordinaten des Brennpunkts und l : ax + by + c = 0<br />

wie oben die Gleichung der Leitgeraden.<br />

⎛<br />

⎞<br />

2(a 2 + b 2 )f x − (af x + bf y + cf z )a<br />

⎜<br />

S = ⎝ 2(a 2 + b 2 ⎟<br />

)f y − (af x + bf y + cf z )b ⎠<br />

2(a 2 + b 2 )f z<br />

Beispiel. Gegeben seien die Leitgerade x + 2y − 7 = 0 und der Brennpunkt F = (3, −5).<br />

Nach Bemerkung 6.8 ist damit die Parabel par : 4x 2 − 4xy + y 2 − 16x + 78y + 121 = 0 mit<br />

p = d(l, F) = 6.26 und der Matrix<br />

A =<br />

⎛<br />

⎜<br />

⎝<br />

4 −2 −8<br />

−2 1 39<br />

−8 39 121<br />

⎞<br />

⎟<br />

⎠<br />

festgelegt. Sie ist in Abbildung 6.6 zusammen mit ihrem Scheitelpunkt S = (4.4, −2.2)<br />

dargestellt.<br />

5<br />

-15 -10 -5 5 10 15<br />

-5<br />

-10<br />

-15<br />

-20<br />

Abbildung 6.6: Parabel zu Leitgerade und Brennpunkt<br />

6.3.3 Kegelschnitt durch fünf Punkte<br />

Im Rahmen der projektiven Geometrie haben wir bewiesen, dass eine Quadrik durch<br />

fünf Punkte, von denen keine vier kollinear sind, eindeutig festgelegt ist (Fünf-Punkte-<br />

Satz 5.6.1, p.115). Hier wollen wir zur konkreten Berechnung der Matrix einer Quadrik<br />

bzw. eines Kegelschnittes die sogenannte Plücker µ Methode verwenden (vgl. [12, p.77]).<br />

Bei dieser Methode spielen ausgeartete Kegelschnitte eine wichtige Rolle. Dazu beantworten<br />

wir zunächst folgende Frage: Wie erhält man einen Kegelschnitt, der einer Geraden<br />

bzw. einem Geradenpaar entspricht?


6.3. KEGELSCHNITTE 133<br />

Bemerkung 6.9 Sei g n eine projektive Gerade. Dann gilt Q A = g n für A = n · n t .<br />

Beweis. Die Gerade g a hat die Gleichung 〈X, n〉 = X t · n = 0. Betrachten wir nun die<br />

Quadrik Q A : X t AX = 0 mit der Matrix A = n · n t . Dabei verwenden wir die Rechenregel<br />

(MN) t = N t M t für Matrizen. Die Matrix einer Quadrik muss symmetrisch sein, d.h.<br />

A t = A. Ist dies hier überhaupt der Fall?<br />

A t = (nn t ) t = (n t ) t n t = nn t = A<br />

Nun betrachten wir die Punktmenge der Quadrik.<br />

Q A : 0 = X t AX = X t nn t X = (X t n)(X t n) t = (X t n) 2<br />

Wir sehen, dass die Punkte X der Quadrik Q A die Geradengleichung g n : X t · n = 0<br />

erfüllen.<br />

✷<br />

Beispiel. Die Matrix des Kegelschnitts K A zur Erzeugenden g : 3x−4y+2 = 0 ist gegeben<br />

als<br />

⎛ ⎞ ⎛<br />

⎞<br />

3<br />

9 −12 6<br />

⎜ ⎟ ⎜<br />

⎟<br />

A = ⎝ −4 ⎠ · (3, −4, 2) = ⎝ −12 16 −8 ⎠.<br />

2<br />

6 −8 4<br />

K A ist eine Doppelgerade.<br />

Bemerkung 6.10 Seien g a , g b zwei projektive Geraden. Dann gilt Q A = g a ∪ g b für A =<br />

a · b t + b · a t .<br />

Beweis. Ein Punkt X, der auf einer der beiden Geraden liegt, erfüllt entweder X t a = 0<br />

oder X t b = 0. Sei nun Q A : X t AX = 0 eine Quadrik mit der Matrix A = a · b t + b · a t .<br />

Wieder überprüfen wir zunächst, ob A überhaupt symmetrisch ist. Dabei greifen wir auf<br />

die Rechenregeln (MN) t = N t M t und (M + N) t = M t + N t zurück.<br />

A t = (ab t + ba t ) t = (ab t ) t + (ba t ) t = (b t ) t a t + (a t ) t b t = ba t + ab t = A<br />

Als Nächstes wenden wir uns den Punkten der Quadrik zu.<br />

Q A : 0 = X t AX<br />

= X t (ab t + ba t )X<br />

= X t ab t X + X t ba t X<br />

= (X t a)(X t b) t + (X t b)(X t a) t<br />

Der letzte Ausdruck ist genau dann null, wenn entweder X t a = 0 oder X t b = 0 gilt, der<br />

Punkt X der Quadrik also entweder auf g a oder g b liegt.<br />

✷<br />

Beispiel. Die Matrix des Kegelschnitts K A , der die Geraden g : 3x − 4y + 2 = 0 und<br />

h : x − 2y = 0 darstellt, ist gegeben als<br />

⎛ ⎞ ⎛ ⎞<br />

3<br />

1<br />

⎜ ⎟ ⎜ ⎟<br />

A = ⎝ −4 ⎠ · (1, −2, 0) + ⎝ −2 ⎠ · (3, −4, 2)<br />

2<br />

0


134 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

=<br />

=<br />

⎛ ⎞ ⎛ ⎞<br />

3 −6 0 3 −4 2<br />

⎜ ⎟ ⎜ ⎟<br />

⎝ −4 8 0 ⎠ + ⎝ −6 8 −4 ⎠<br />

2 −4 0 0 0 0<br />

⎛<br />

⎞<br />

6 −10 2<br />

⎜<br />

⎟<br />

⎝ −10 16 −4 ⎠ .<br />

2 −4 0<br />

K A ist ein Geradenpaar.<br />

Jetzt betrachten wir noch die Linearkombination zweier Quadriken Q A und Q B .<br />

Hilfssatz 6.2 Seien Q A , Q B zwei Quadriken, die gemeinsame Punkte besitzen. Dann<br />

enthält auch die Quadrik Q C mit C = λA + µB für alle λ, µ ∈ R alle diese Punkte.<br />

Q C nennen wir Linearkombination von Q A und Q B .<br />

Beweis. Sei P ∈ Q A ∪ Q B ein beiliebiger Schnittpunkt von Q A und Q B . Damit gilt<br />

P t AP = P t BP = 0. Wir überprüfen nun, ob dieser Punkt auch auf der Quadrik Q C liegt,<br />

also X t CX = 0 erfüllt: P t CP = P t (λA + µB)P = λP t AP + µP t BP = 0 + 0 = 0. ✷<br />

Damit können wir die Plücker-µ Methode zur Festlegung eines Kegelschnitts durch fünf<br />

Punkte angeben.<br />

Satz 6.3 Fünf verschiedene Punkte P 1 , . . .,P 5 des P(R 3 ) legen eine Quadrik Q C fest, wobei<br />

C = (P t 5 BP 5)A − (P t 5 AP 5)B<br />

mit<br />

A = (P 1 × P 2 )(P 3 × P 4 ) t + (P 3 × P 4 )(P 1 × P 2 ) t<br />

B = (P 1 × P 3 )(P 2 × P 4 ) t + (P 2 × P 4 )(P 1 × P 3 ) t .<br />

Beweis. Nach Bemerkung 5.1, p.107 ist die Verbindungsgerade P i ∨ P j gegeben als g Pi ×P j<br />

für verschiedene Punkte P i ≠ P j , 1 ≤ i, j ≤ 4. Nach Bemerkung 6.10 stellen Q A die<br />

Doppelgerade (P 1 ∨ P 2 ) ∪ (P 3 ∨ P 4 ) und Q B die Doppelgerade (P 1 ∨ P 3 ) ∪ (P 2 ∨ P 4 ) dar.<br />

Damit liegen die Punkte P 1 , . . .,P 4 auf den ausgearteten Kegelschnitten Q A und Q B . Nach<br />

Hilfssatz 6.2 liegen P 1 , . . .,P 4 auch auf allen Linearkombinationen Q C von Q A und Q B mit<br />

C = λA + µB.<br />

Der Fünf-Punkte-Satz 5.6.1, p.115 besagt, dass ein fünfter Punkt die Quadrik Q C<br />

festlegt. Damit P 5 auch auf Q C liegt, muss P t 5CP 5 = 0 gelten. Dies können wir durch<br />

geeignete Wahl von λ und µ erreichen. Setzen wir etwa wie angegeben λ := P t 5 BP 5 und<br />

µ := −P t 5AP 5 , so gilt:<br />

P5 t CP 5 = P5 t (λA + µB)P 5<br />

= λP5 t AP 5 + µP5 t BP 5<br />

= (P5BP t 5 )P5AP t 5 − (P5AP t 5 )P5BP t 5<br />

= 0.


6.3. KEGELSCHNITTE 135<br />

Diese Methode liefert übrigens für jede Menge von fünf Punkten ein sinnvolles Ergebnis.<br />

Sind nicht alle Punkte verschieden, so erhält man für C die Nullmatrix.<br />

Beispiel. Seien P 1 = (0, 2), P 2 = (1, 5), P 3 = (2, 3), P 4 = (2, −3) und P 5 = (1, −2).<br />

Wir berechnen nun mit Hilfe der Plücker-µ Methode die Matrix des Kegelschnitts Q C , auf<br />

dem diese Punkte liegen. Bestimmen wir zunächst die Verbindungsgeraden und daraus die<br />

ausgearteten Kegelschnitte Q A und Q B .<br />

P 1 × P 2 =<br />

⎛<br />

⎜<br />

⎝<br />

−3<br />

1<br />

−2<br />

⎞<br />

⎟<br />

⎠ , P 3 × P 4 =<br />

Q A = (P 1 ∨ P 2 ) ∪ (P 3 ∨ P 4 ) : A =<br />

P 1 × P 3 =<br />

⎛<br />

⎜<br />

⎝<br />

−1<br />

2<br />

−4<br />

⎞<br />

⎛<br />

⎜<br />

⎝<br />

⎟<br />

⎠ , P 2 × P 4 =<br />

Q B = (P 1 ∨ P 3 ) ∪ (P 2 ∨ P 4 ) : B =<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎜<br />

⎝<br />

6<br />

0<br />

−12<br />

⎞<br />

⎟<br />

⎠<br />

−36 6 24<br />

6 0 −12<br />

24 −12 48<br />

⎛<br />

⎜<br />

⎝<br />

8<br />

1<br />

−13<br />

⎞<br />

⎟<br />

⎠<br />

−16 15 −19<br />

15 4 −30<br />

−19 −30 104<br />

Mit den Parameterwerten λ = 126 und µ = −84 erhalten wir<br />

⎛<br />

⎞<br />

−3192 −504 4620<br />

⎜<br />

⎟<br />

C = λA + µB = ⎝ −504 −336 1008 ⎠.<br />

4620 1008 −2688<br />

Es empfiehlt sich, die Matrix C noch durch den größten gemeinsamen Teiler ihrer Koeffizienten<br />

zu dividieren, hier -84.<br />

⎛<br />

⎞<br />

38 6 −55<br />

C ′ ⎜<br />

⎟<br />

= ⎝ 6 4 −12 ⎠<br />

−55 −12 32<br />

Der Kegelschnitt Q C ist eine Ellipse mit der Gleichung 38x 2 + 12xy + 4y 2 − 110x −<br />

12y + 16 = 0. Sie ist in Abbildung 6.7 zusammen mit den fünf Punkten dargestellt.<br />

⎞<br />

⎟<br />

⎠<br />

⎞<br />

⎟<br />

⎠<br />

✷<br />

Vereinfachung der Plücker-µ Methode<br />

Bisher hatten wir für einen Kegelschnitt stets gefordert, dass seine 3×3 Matrix symmetrisch<br />

sein soll. Dadurch ist die Matrix bis auf Vielfache eindeutig festgelegt. Durch Verzicht auf<br />

die Symmetrie verlieren wir diese Eindeutigkeit und es gibt unendlich viele Matrizen, die<br />

ein und denselben Kegelschnitt darstellen.


136 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Abbildung 6.7: Kegelschnitt durch 5 Punkte<br />

Wenn wir jedoch vorübergehend auch asymmetrische Matrizen für Kegelschnitte zulassen,<br />

vereinfacht sich die eben vorgestellte Plücker-µ Methode noch etwas. Die beiden<br />

entarteten Kegelschnitte lassen sich damit wie folgt berechnen (vgl. Bemerkung 6.10).<br />

Dabei erhalten wir im Allgemeinen eine asymmetrische Matrix A:<br />

Folgerung 6.2 Seien g a , g b zwei projektive Geraden. Dann gilt Q A = g a ∪g b für A = a·b t .<br />

Der Hilfssatz 6.2 zu den Linearkombinationen von Kegelschnitten gilt auch für asymmetrische<br />

Matrizen. Die Plücker-µ Methode vereinfacht sich daher mit Hilfe von Folgerung 6.2<br />

zu<br />

Satz 6.4 Fünf verschiedene Punkte P 1 , . . .,P 5 des P(R 3 ) legen eine Quadrik Q C fest, wobei<br />

C = (P t 5 BP 5)A − (P t 5 AP 5)B<br />

A = (P 1 × P 2 )(P 3 × P 4 ) t<br />

B = (P 1 × P 3 )(P 2 × P 4 ) t .<br />

mit<br />

Die Matrizen A, B, C sind dabei im Allgemeinen nicht symmetrisch. Um aus C eine<br />

symmetrische Matrix C ′ desselben Kegelschnitts zu erhalten, nimmt man einfach C ′ =<br />

C + C t .<br />

Beispiel. Betrachten wir nochmals das letzte Beispiel: Seien P 1 = (0, 2), P 2 = (1, 5),<br />

P 3 = (2, 3), P 4 = (2, −3) und P 5 = (1, −2). Wir berechnen nun mit Hilfe der vereinfachten<br />

Plücker-µ Methode die Matrix des Kegelschnitts Q C , auf dem diese Punkte liegen. C soll<br />

dabei eine symmetrische Matrix sein. Bestimmen wir zunächst die Verbindungsgeraden<br />

und daraus die ausgearteten Kegelschnitte Q A und Q B .<br />

P 1 × P 2 =<br />

⎛<br />

⎜<br />

⎝<br />

−3<br />

1<br />

−2<br />

⎞<br />

⎟<br />

⎠ , P 3 × P 4 =<br />

⎛<br />

⎜<br />

⎝<br />

6<br />

0<br />

−12<br />

⎞<br />

⎟<br />


6.3. KEGELSCHNITTE 137<br />

Q A = (P 1 ∨ P 2 ) ∪ (P 3 ∨ P 4 ) : A =<br />

P 1 × P 3 =<br />

⎛<br />

⎜<br />

⎝<br />

−1<br />

2<br />

−4<br />

⎞<br />

⎛<br />

⎜<br />

⎝<br />

⎟<br />

⎠ , P 2 × P 4 =<br />

Q B = (P 1 ∨ P 3 ) ∪ (P 2 ∨ P 4 ) : B =<br />

⎛<br />

⎜<br />

⎝<br />

−18 0 36<br />

6 0 −12<br />

−12 0 24<br />

⎛<br />

⎜<br />

⎝<br />

8<br />

1<br />

−13<br />

⎞<br />

⎟<br />

⎠<br />

⎞<br />

⎟<br />

⎠<br />

−8 −1 13<br />

16 2 −26<br />

−32 −4 52<br />

Mit den Parameterwerten λ = 63 und µ = −42 erhalten wir<br />

C = λA + µB =<br />

⎛<br />

⎜<br />

⎝<br />

−798 42 1722<br />

−294 −84 336<br />

588 168 −672<br />

⎞<br />

⎟<br />

⎠ .<br />

Daraus machen wir nun eine symmetrische Matrix:<br />

C ′ = C + C t =<br />

⎛<br />

⎜<br />

⎝<br />

−1596 −252 2310<br />

−252 −168 504<br />

2310 504 −1344<br />

Um eine einfache Gleichungsdarstellung zu erhalten, dividieren wir die Matrix C ′ noch<br />

durch den größten gemeinsamen Teiler ihrer Koeffizienten -84.<br />

C ′′ =<br />

⎛<br />

⎜<br />

⎝<br />

38 6 −55<br />

6 4 −12<br />

−55 −12 32<br />

⎞<br />

⎟<br />

⎠<br />

Der Kegelschnitt Q C ist wieder die Ellipse mit der Gleichung 38x 2 +12xy+4y 2 −110x−<br />

12y + 16 = 0 (Abbildung 6.7).<br />

⎞<br />

⎟<br />

⎠ .<br />

⎞<br />

⎟<br />

⎠<br />

6.3.4 Schnitt zweier Kegelschnitte<br />

Zur Bestimmung der Schnittpunkte zweier Kegelschnitte können wir wiederum die Plücker-<br />

µ Methode verwenden. Nach Hilfssatz 6.2 liegen die Schnittpunkte zweier Kegelschnitte<br />

Q A und Q B auf allen Linearkombinationen Q C mit C = λA + µB. Durch Anpassung<br />

dieser Parameter können wir Q C zu einem ausgearteten Kegelschnitt (det C = 0) machen,<br />

sodass Q C einem Geradenpaar oder der leeren Menge entspricht (vgl. Klassifikation<br />

der Kegelschnitte, Tabelle p.87), je nachdem ob Schnittpunkte existieren oder nicht. Die<br />

Schnittpunkte von Q A und Q B erhalten wir dann durch Schnitt der beiden Erzeugenden<br />

von Q C mit einem der beiden Kegelschnitte Q A oder Q B .


138 KAPITEL 6. GEOMETRISCHE OBJEKTE DER EBENE<br />

Wir suchen nun nach geeigneten Parametern, um det C = 0 zu erreichen. Setzen wir<br />

dazu λ = 1.<br />

0 = det C<br />

0 = det(λA + µB)<br />

0 = det(A + µB)<br />

Dies führt auf eine Polynomgleichung dritten Grades für µ, die mindestens eine reelle<br />

Lösung besitzt. Durch Klassifikation eines so gefundenen Kegelschnitts Q C mit C = A +<br />

µB erhalten wir im Fall von Schnittpunkten seine Erzeugenden. Diese beiden Geraden<br />

schneiden wir mit Q A oder Q B und erhalten damit höchstens vier Schnittpunkte (vgl.<br />

Folgerung 5.3).<br />

Abbildung 6.8 zeigt zwei Ellipsen, die sich in vier Punkten schneiden. Zudem ist einer<br />

der in diesem Fall drei möglichen entarteten Kegelschnitte Q C eingezeichnet, welcher durch<br />

die Schnittpunkte verläuft.<br />

Abbildung 6.8: Schnitt zweier Kegelschnitte


Teil III<br />

Informatik<br />

139


Kapitel 7<br />

Algebraische Eingabe<br />

In diesem Kapitel wird eine Lösung für die in Kapitel 2 geforderten Eingabemöglichkeiten<br />

von algebraischen Ausdrücken erarbeitet. Geraden und Kegelschnitte können als Gleichungen<br />

in den Variablen x und y eingegeben werden. Punkte und Geraden über Koordinaten<br />

bzw. Parameterdarstellungen. Außerdem werden auch etliche Befehle unterstützt (vgl. Anhang<br />

V).<br />

Aus einer gegebenen Gleichung oder Parameterdarstellung müssen dabei Koeffizienten<br />

bzw. Koordinaten extrahiert werden, die ein geometrisches Objekt festlegen. Könnte eine<br />

Geradengleichung nur in der Form ax + by = c eingegeben werden, bräuchte man nur vor<br />

den Buchstaben x und y bzw. nach dem Gleichheitszeichen nachsehen, um die entsprechenden<br />

Koeffizienten a, b und c zu erhalten. In Abschnitt 2.2 wird jedoch gefordert, dass<br />

auch Klammern, Multiplikationen, Divisionen und Hochzahlen vorkommen dürfen, um eine<br />

weitaus flexiblere Eingabe zu ermöglichen. Es sollte also auch der Ausdruck (x-2)^2 +<br />

4*(3-x) = y/4 + (x-2)^2 als lineare Gleichung und damit als Gerade identifiziert werden.<br />

Wie dies erreicht werden kann, wird im Folgenden beschrieben.<br />

7.1 Theoretische Grundlagen<br />

7.1.1 Formale Sprachen und Grammatiken<br />

Zunächst einmal muss geklärt werden, welche Eingaben überhaupt gültig sein sollen. Dazu<br />

wird es nötig sein, genau festzulegen, welche Zeichen zulässig sind, und mit welchen<br />

Regeln aus diesen Zeichen gültige Ausdrücke gebildet werden können. Anders ausgedrückt<br />

soll also eine formale Sprache für arithmetische Ausdrücke mit Variablen und Vektoren,<br />

Gleichungen, Parameterdarstellungen sowie Befehle, im Folgenden kurz L ECV (Language<br />

for Equations, Commands and Vectors) genannt, definiert werden. Dazu brauchen wir<br />

einige Grundbegriffe der Theorie der formalen Sprachen und Grammatiken (vgl. [19]).<br />

Alphabet: Ein Alphabet Σ ist eine endliche Menge (von Zeichen).<br />

141


142 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

Wort: Ein Wort besteht aus einem oder mehreren Zeichen eines Alphabets Σ. Das leere<br />

Wort ε besteht aus keinem Zeichen. Σ ∗ bezeichnet die Menge aller Wörter über Σ.<br />

Σ + := Σ ∗ \ ε.<br />

Sprache: Eine (formale) Sprache L ist eine Menge von Worten, also L ⊆ Σ ∗ .<br />

Eine endliche Sprache könnte durch Aufzählen aller enthaltenen Wörter definiert werden.<br />

Die Wörter der gesuchten Sprache L ECV enthalten aber schon die abzählbar unendlich<br />

vielen arithmetischen Ausdrücke, da jede Seite einer Gleichung einen arithmetischen Ausdruck<br />

darstellt. L ECV ist also sicher nicht endlich.<br />

Vielleicht können aber endlich viele Regeln, wie man ein Wort der Sprache bildet,<br />

angegeben werden. Mit Hilfe solcher Regeln lässt sich dann eine Sprache definieren. Dazu<br />

brauchen wir zunächst noch den Begriff einer<br />

Grammatik: Eine Grammatik ist ein 4-Tupel G = (V, Σ, R, s) mit folgenden Bedingungen.<br />

1. V ist die endliche Menge der Variablen.<br />

2. Σ ist ein Alphabet, das Terminalalphabet, mit V ∩ Σ = ∅.<br />

3. R ist die endliche Menge der Regeln oder Produktionen. Es gilt: R ⊂ (V ∪Σ) + ×<br />

(V ∪ Σ) ∗ .<br />

4. s ∈ V ist die Startvariable.<br />

Ein Wort w ∈ (V ∪ Σ) ∗ , das Variablen und Terminalzeichen enthält, nennt man Satzform.<br />

Mittels einer Regel kann man eine Satzform in eine andere überführen:<br />

u ⇒ G w: Die Satzform u geht unter der Grammatik G unmittelbar über in die Satzform<br />

v , falls u = xyz, v = xy ′ z mit x, z Satzformen und y → y ′ eine Regel in R sind.<br />

Falls klar ist, welche Grammatik G gemeint ist, so schreiben wir einfach u ⇒ v<br />

anstatt u ⇒ G w.<br />

Ableitung: Eine Folge von Wörtern (w 0 , w 1 , . . .,w n ) mit w 0 = s, w n ∈ Σ ∗ und w 0 ⇒<br />

w 1 ⇒ . . . ⇒ w n heißt Ableitung von w n .<br />

Die Ableitungen einer Grammatik sind also Wörter ∈ Σ ∗ , die durch Anwendung der<br />

Regeln aus einer Startvariablen gewonnen werden. Offensichtlich sind alle diese Ableitungen<br />

eine Teilmenge von Σ ∗ und bilden daher eine Sprache. Diese Sprache L nennt man die durch<br />

die Grammatik G definierte Sprache.<br />

L(G) = {w ∈ Σ ∗ |s ⇒ ∗ G w}<br />

Hierbei ist ⇒ ∗ G die reflexive und transitive Hülle von ⇒ G.


7.1. THEORETISCHE GRUNDLAGEN 143<br />

7.1.2 Extended Backus Naur Form<br />

Zur Beschreibung einer Grammatik wird häufig ein von J. Backus und P. Naur stammender<br />

Formalismus, die Backus Naur Form (BNF), verwendet. Diese Notation wurde im Zusammenhang<br />

mit der Konstruktion der Programmiersprache ALGOL 60 eingeführt und wird<br />

auch heute noch häufig für die Syntaxspezifikation von Programmiersprachen verwendet.<br />

Es gibt viele Varianten der BNF (z.B. Augmented BNF in [4]), weshalb hier kurz die von<br />

uns verwendete Variante einer Extended Backus Naur Form (EBNF) erläutert werden soll.<br />

In EBNF werden Variablen als Nichtterminalsymbole, Zeichen des Terminalalphabets<br />

als Terminalsymbole und Regeln als Produktionen bezeichnet. Außerdem gibt es einige<br />

Metazeichen, um die Produktionen anschreiben zu können.<br />

Terminalsymbol: Ein Zeichen des Terminalalphabets wird in Anführungszeichen geschrieben.<br />

Das Gleichheitszeichen beispielsweise als ’=’.<br />

Produktion: Die Produktion (Regel) ”<br />

Eine Gleichung besteht aus zwei arithmetischen<br />

Ausdrücken links und rechts von einem Gleichheitszeichen.“ lässt sich in EBNF so<br />

schreiben:<br />

equation ::= expression ’=’ expression<br />

Nichtterminalsymbol: Für jedes Nichtterminalsymbol gibt es eine Produktion, die angibt,<br />

wofür es stehen kann. Das Nichtterminalsymbol digit kann wie folgt angeschrieben<br />

werden:<br />

digit ::= ’0’...’9’<br />

Metazeichen: Ein Metazeichen beschreibt eine Beziehung zwischen Symbolen.<br />

::= Definition: Die Definition trennt linke und rechte Seite einer Produktion.<br />

| Alternative: α | β bedeutet, dass an dieser Stelle entweder α oder β steht.<br />

vars ::= ’x’ | ’y’<br />

[] Option: [α] bedeutet, dass α optional ist, also kein- oder einmal vorkommt.<br />

equation ::= [label ’:’] expression ’=’ expression<br />

{} Iteration: {α} bedeutet, dass α beliebig oft vorkommt. Ich werde folgende genauere<br />

Notation verwenden: {α}* bedeutet α kommt 0 bis n mal vor. {α}+<br />

heißt α kommt 1 bis n mal vor.<br />

integer ::= {digit}+<br />

() Gruppierung: Die Klammern dienen der logischen Gruppierung von Ausdrücken.<br />

expression ::= term (’+’ | ’-’) term<br />

... Bereich: ’a’...’z’ bedeutet, dass alle Kleinbuchstaben vorkommen können.<br />

letter ::= ’a’...’z’ | ’A’...’Z’


144 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

7.2 Die Grammatik G ECV<br />

In diesem Abschnitt wird nun eine Grammatik G ECV für arithemtische Gleichungen mit<br />

Variablen und Vektoren, Parameterdarstellungen und Befehle definiert.<br />

7.2.1 Definition von G ECV<br />

Wie in 7.1.1 beschrieben, ist eine Grammatik ein 4-Tupel (V, Σ, R, s). Für die Grammatik<br />

G ECV geben wir dieses Tupel im Folgenden an.<br />

Die Menge V der Variablen oder Nichtterminalsymbole sei<br />

V = { validExpression, expression, term, unary, power, element,<br />

variable, label, letter, float, integer, digit, vector,<br />

equation, command, parametric }<br />

Als Startvariable s wird daraus validExpression gewählt. Das Terminalalphabet Σ<br />

oder die Menge der Terminalzeichen sei<br />

Σ = { =, +, -, *, /, ^, (, ), 0...9, ., a...z, A...Z, }<br />

Das Gleichheitszeichen und die üblichen Operatoren (+, -, *, /) sowie das Zeichen ^<br />

für Hochzahlen und die runden Klammern sind für arithmetische Ausdrücke notwendig.<br />

Der Punkt . wird als Komma bei Dezimalzahlen verwendet. Die Buchstaben und der<br />

Unterstrich sind für Variablennamen vorgesehen.<br />

Am interessantesten sind natürlich die Regeln einer Grammatik, welche nun für G ECV<br />

in erweiterter Backus Naur Form (vgl. 7.1.2) angegeben werden sollen. Wir gehen dabei<br />

vom Allgemeinen zum Speziellen, da hierbei die Struktur der Regeln am deutlichsten wird.<br />

validExpression: Gültige Ausdrücke sind arithmetische Ausdrücke, Gleichungen, Parameterdarstellungen<br />

und Befehle.<br />

validExpression ::= expression | equation | parametric | command<br />

Als Erstes geben wir die Regeln für geklammerte arithmetische Ausdrücke mit Variablen<br />

und den Operatoren +, -, *, /, ^ an. In einem solchen Ausdruck dürfen auch Vektoren<br />

(mit zwei Koordinaten) vorkommen.<br />

Arithmetischer Ausdruck<br />

expression: Ein arithmetischer Ausdruck besteht aus einem oder mehreren Termen, die<br />

addiert oder subtrahiert werden.<br />

expression ::= term { (’+’ | ’-’) term }*<br />

term: Ein Term kann aus mehreren Teilen bestehen, die multipliziert oder dividiert werden.<br />

term ::= unary {(’*’ | ’/’) unary}*


7.2. DIE GRAMMATIK G ECV 145<br />

unary: Vor einem solchen Teil kann ein negatives Vorzeichen stehen.<br />

unary ::= [’-’] power<br />

power: Ein Faktor kann Hochzahlen beinhalten. Da die Exponentiation rechts-assoziativ<br />

ist, muss hier immer zuerst die rechte Seite ausgewertet werden. a^b^c ist also als<br />

a^(b^c) zu verstehen.<br />

power ::= element {’^’ unary}*<br />

element: Ein Element ist eine Variable, eine Zahl oder ein geklammerter Ausdruck.<br />

element ::= variable | float | vector | (’(’ expression ’)’)<br />

variable: Als Variablen sind Namen (label) zugelassen. ’x’ und ’y’ spielen eine Sonderrolle:<br />

sie kommen nur in Gleichungen vor.<br />

variable ::= (’x’ | ’y’) | label<br />

label: Ein Variablenname beginnt mit einem Buchstaben, gefolgt von weiteren Buchstaben,<br />

Zahlen oder Unterstrichen.<br />

label ::= letter {letter | digit | ’_’}*<br />

letter: Ein Buchstabe ist ein Zeichen von ’a’ bis ’z’ bzw. ’A’ bis ’Z’.<br />

letter ::= ’a’...’z’ | ’A’...’Z’<br />

float: Eine Fließkommazahl kann in ganze Zahlen zerlegt werden.<br />

float ::= (integer [’.’ integer]) | (’.’ integer)<br />

integer: Eine ganze Zahl besteht aus mindestens einer Ziffer.<br />

integer ::= {digit}+<br />

digit: Eine Ziffer ist ein Zeichen von ’0’ bis ’9’.<br />

digit ::= ’0’...’9’<br />

vector: Ein Vektor bzw. Punkt hat zwei Koordinaten.<br />

vector ::= ’(’ expression ’,’ expression ’)’<br />

Gleichung, Parameterdarstellung, Befehl<br />

equation: Eine Gleichung besteht aus zwei arithmetischen Ausdrücken links und rechts<br />

von einem Gleichheitszeichen.<br />

equation ::= expression ’=’ expression<br />

parametric: Eine Parameterdarstellung hat die Form X = Punkt + parameter * Richtungsvektor.<br />

parametric ::= ’X’ ’=’ term (’+’ | ’-’) label [’*’] expression


146 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

command: Befehle haben mindestens ein Argument.<br />

command ::= label ’[’ validExpression {’,’ validExpression}* ’]’<br />

7.2.2 Die Sprache L ECV<br />

Mittels der Grammatik G ECV ist nun einer Menge von Eingaben, die Sprache L ECV , festgelegt<br />

(vgl. 7.1.1, p.141). Sie ist die Menge aller Ableitungen, welche mit der Startvariable<br />

validExpression beginnen.<br />

L ECV := L(G ECV ) = {w ∈ Σ ∗ | validExpression ⇒ ∗ G ECV<br />

w}<br />

Beispiel. Einige Beispiele für Wörter aus L ECV sind:<br />

• (3*y-x)/2 = 4<br />

• 16*x^2 + 9*y^2 = 144<br />

• X = (3, 2*7) - s (7/3, -4/3)<br />

• (2,0)<br />

• t + 4.2*s<br />

Jedes dieser Wörter ist eine Ableitung in G ECV . Wir wollen nun die Ableitung für<br />

das letzte angeführte Wort t + 4.2*s anschreiben. Daran wird ersichtlich, wie mittels<br />

der Grammatik für ein gegebenes Wort entschieden werden kann, ob es aus L ECV ist.<br />

Dazu muss in jedem Schritt mindestens eine Regel anwendbar sein. Ist keine Regel mehr<br />

anwendbar, muss entweder das gewünschte Wort erreicht sein, oder es liegt ein ungültiger<br />

Ausdruck vor. Jede Ableitung in G ECV beginnt mit der Startvariablen validExpression.<br />

validExpression<br />

⇒expression<br />

⇒term ’+’ term<br />

⇒unary ’+’ term<br />

⇒power ’+’ term<br />

⇒element ’+’ term<br />

⇒variable ’+’ term<br />

⇒lable ’+’ term<br />

⇒letter ’+’ term<br />

⇒’t’ ’+’ term<br />

⇒’t’ ’+’ unary ’*’ unary<br />

⇒’t’ ’+’ power ’*’ unary<br />

⇒’t’ ’+’ element ’*’ unary<br />

⇒’t’ ’+’ float ’*’ unary


7.2. DIE GRAMMATIK G ECV 147<br />

⇒’t’ ’+’ integer ’.’ integer ’*’ unary<br />

⇒’t’ ’+’ ’4’ ’.’ integer ’*’ unary<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ unary<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ power<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ element<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ variable<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ lable<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ letter<br />

⇒’t’ ’+’ ’4’ ’.’ ’2’ ’*’ ’s’<br />

Diese Ableitung umfasst bereits relativ viele Schritte, obwohl ein sehr einfaches Wort<br />

untersucht wurde. Eine Ableitung eines komplizierteren Beispiels kann sehr lange werden<br />

und sei dem interessierten Leser als Übung ans Herz gelegt.<br />

Bemerkungen<br />

Die von uns gewünschten gültigen Ausdrücke sind genau genommen nur eine Teilmenge<br />

von L ECV . Die Addition einer Zahl und eines Vektors 1 + (2, -3) ist beispielsweise ein<br />

mit G ECV ableitbarer Ausdruck. Für uns macht diese Eingabe aber keinen Sinn. Ähnlicher<br />

Unfug lässt sich mit der Regel parametric anstellen: Die Eingabe X = 5 + t * 2 wäre<br />

in G ECV herleitbar.<br />

Dieses Problem lässt sich auf zwei Arten beheben. Entweder wir ändern die Grammatik<br />

oder wir behandeln solche Fehler später. Nachdem die eingegebenen Ausdrücke sowieso<br />

ausgewertet werden müssen, können die angesprochenen Fehler im Nachhinein leicht<br />

identifiziert werden (vgl. 7.3.3). Eine Änderung der Grammatik wäre hingegen sehr viel<br />

komplizierter.<br />

Außerdem gibt es Situationen, in denen mehrere Regeln unserer Grammatik G ECV<br />

angewandt werden können. Betrachten wir beispielsweise den Vektor (3,2) sowie den<br />

geklammerten Ausdruck (4 + 1). Beide Eingaben sind in G ECV herleitbar. Bei der Abarbeitung<br />

dieser Ausdrücke ist allerdings gleich am Anfang nicht klar, welcher Zweig der<br />

Regel element passt. Die öffnende runde Klammer kann eine arithmetische Klammer sein<br />

oder zu einem Vektor gehören. Bei der Anwendung unserer Grammatik kann also nicht<br />

nur eine Ableitungskette, sondern ein Ableitungsbaum entstehen. Die verschiedenen Pfade<br />

dieses Baumes müssen dann nacheinander mit Tiefensuche durchforstet werden.<br />

Erst beim Auftreten eines Beistrichs, ’*’ oder einer schließenden runden Klammer<br />

’)’ kann entschieden werden, ob es sich um einen Vektor oder einen geklammerten Ausdruck<br />

handelt. Dieses Problem könnten wir umgehen, indem wir für Vektoren andere,<br />

etwa geschwungene, Klammern verwenden. Dann wären arithmetische und Vektorklammern<br />

eindeutig unterscheidbar. Da in der Schule jedoch in beiden Fällen runde Klammern<br />

verwendet werden, wollen auch wir dies hier so halten.


148 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

Erweiterungen<br />

Die angegebenen Regeln fordern zwingend die Verwendung des Multiplikationszeichens<br />

’*’. Es wäre jedoch wünschenswert, dieses Zeichen weglassen zu können, sodass sowohl<br />

3*x + 4*y = 2*7 als auch 3x + 4y = 2 7 gültige Eingaben sind. Um das zu erreichen,<br />

ändern wir die Regel term wie folgt ab.<br />

term: Ein Term kann aus mehreren Teilen bestehen, die multipliziert oder dividiert werden.<br />

term ::= unary {((’*’ | ’/’) unary) | power}*<br />

In L ECV können momentan keine Namen für Objekte angegeben werden. Wir wollen<br />

daher die Grammatik so erweitern, dass dies wie bei folgenden Eingaben möglich wird.<br />

• g : (3*y-x)/2 = 4<br />

• ell: 16*x^2 + 9*y^2 = 144<br />

• h : X = (3, 2*7) - s (7/3, -4/3)<br />

• P = (2,0)<br />

• S = Schnittpunkt[g, h]<br />

• k = t + 4.2*s<br />

Bei Gleichungen wird der Name gefolgt von einem Doppelpunkt’:’ angegeben. Punkte,<br />

Vektoren, Befehle und arithmetische Ausdrücke werden mit Hilfe eines Gleichheitszeichens<br />

’=’ benannt.<br />

Da wir das Gleichheitszeichen sowohl bei Gleichungen (3x + 4y = 2) als auch bei<br />

Zuweisungen arithmetischer Ausdrücke (t = 4s) verwenden, müssen hier einige Fälle unterschieden<br />

werden. Eine Gleichung liegt genau dann vor, wenn mindestens eine der beiden<br />

Seiten eines der Zeichen ’x’ oder ’y’ beinhaltet. Ein arithmetischer Ausdruck darf hingegen<br />

keines dieser beiden Zeichen enthalten.<br />

Ähnlich wie bei der Doppeldeutigkeit der runden Klammern könnten wir auch dieses<br />

Problem durch Verwendung verschiedener Zeichen für Zuweisung und Gleichheitszeichen<br />

einer Gleichung umgehen. Oft wird ein doppeltes Gleichheitszeichen ’==’ für Gleichungen<br />

verwendet. Da in der Schulnotation jedoch in beiden Fällen nur’=’ verwendet wird, wollen<br />

wir dies hier auch so halten.<br />

Weiters ergänzen wir unserer Grammatik um mathematische Funktionen wie Wurzel,<br />

Absolutbetrag, trigonometrische Funktionen, Logarithmus und Exponentialfunktion. Damit<br />

ist etwa eine Eingabe wie sqrt(cos(phi)^2 + sin(phi)^2) möglich.


7.3. VERARBEITUNG DER EINGABE 149<br />

Für die Hochzahlen ^2 und ^3 verwenden wir als Kurzschreibweise die auf der Tastatur<br />

direkt zur Verfügung stehenden Zeichen 2 und 3 . Damit lässt sich eine Kreisgleichung als<br />

x^2 + y^2 = r^2 oder x 2 + y 2 = r 2 schreiben.<br />

Für die Eingabe von Winkeln wollen wir folgende Konstanten erlauben:<br />

pi π<br />

◦ π<br />

180<br />

rad 1<br />

Intern soll stets in Radiant gerechnet werden. Die Konstante ’ ◦ ’ dient dabei zur Umrechnung<br />

von Grad in Radiant. Eine Eingabe von 180 ◦ enstpricht also der Multiplikation<br />

180 π und ergibt den Wert π.<br />

180<br />

Vektoren und Punkte sollen alternativ zur Angabe ihrer cartesischen Koordinaten auch<br />

in Polarkoordinaten angegeben werden können. Hierzu benennen wir die Regel vector in<br />

cartesianvector um und führen eine neue Regel polarvector ein:<br />

polarvector ::= ’(’ expression ’;’ expression ’)’<br />

Ein Punkt A lässt sich damit auf zwei Arten eingeben: A = (0, 1) oderA = (1; 90 ◦ ).<br />

7.3 Verarbeitung der Eingabe<br />

Wir kennen jetzt die Grammatik für unsere gewünschten Eingaben. Nun stellt sich die<br />

Frage, wie man diese Grammatik implementiert und gültige Eingaben verarbeitet. Darauf<br />

gehen wir in diesem Abschnitt ein.<br />

7.3.1 JavaCC<br />

Zur Implementierung einer Grammatik empfiehlt es sich, einen Parser-Generator zu verwenden.<br />

Ein solcher Generator verwendet eine eigene Syntax, mit der grammatikalische<br />

Regeln gemeinsam mit Anweisungen einer Programmiersprache angegeben werden können.<br />

Jeder Regel bzw. jedem Regelteil kann dabei ein Block von Anweisungen folgen, der ausgeführt<br />

wird, wenn diese Regel zur Anwendung kommt. Aus dieser Kombination von Regeln<br />

und Codeblöcken erzeugt ein Parser-Generator dann compilierbaren Quellcode für<br />

eine bestimmte Programmiersprache.<br />

Ich verwende als Parsergenerator den Java Compiler Compiler javacc (Version 2.1,<br />

c○ Webgain und Sun Microsystems), welcher Java Quellcode erzeugt. Für die Regeln der<br />

Grammatik wird dabei eine EBNF ähnliche Syntax verwendet (vgl. 7.1.2, p.143). Als Grammatik<br />

verwende ich G ECV (p. 148) mit den erwähnten Erweiterungen.<br />

7.3.2 Arithmetische Ausdrücke<br />

Alle Eingaben müssen irgendwie verarbeitet werden. Ein konstanter Ausdruck ohne Variablen<br />

wie k = 3 * (2 - cos(90 ◦ ))^3 könnte wie bei einem Taschenrechner sofort ausgewertet<br />

werden. Kommen jedoch Variablen wie in k = t + 4.2 cos(phi) vor, dann wollen


150 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

wir k als Funktion von t und phi auffassen. Verändert sich t oder phi, so soll sich auch k<br />

ändern. Um dies zu erreichen, müssen wir den Ausdruck t + 4.2 cos(phi) immer wieder<br />

neu auswerten können.<br />

Kurzum: Wir brauchen eine Datenstruktur für arithmetische Ausdrücke. Dazu verwenden<br />

wir Bäume. Ihre Blätter sind Zahlen, Vektoren oder Variablen. Die inneren Knoten<br />

beinhalten Rechenoperationen.<br />

Beispiel. Betrachten wir den Baum des einfachen Ausdrucks t + 4.2 cos(phi).<br />

Abbildung 7.1: Baumstruktur von t + 4.2 cos(phi)<br />

Den Baum bauen wir mit Hilfe unserer Grammatik auf. Im Folgenden sind die beiden<br />

Regeln expression und term zur Behandlung von Addition und Subtraktion bzw.<br />

Multiplikation und Division in javacc Syntax abgedruckt.<br />

Nach jedem Regelteil steht ein Java Codeblock, der zur Anwendung kommt, wenn seine<br />

Regel passt. Die darin vorkommenden ExpressionNode Objekte repräsentieren die inneren<br />

Knoten des Baumes.<br />

ExpressionNode expression():<br />

{<br />

ExpressionNode left, right;<br />

Token x;<br />

}<br />

{<br />

left = term()<br />

(<br />

(x = | x = ) right = term()<br />

{<br />

if (x.kind == PLUS)<br />

left = new ExpressionNode(left, ExpressionNode.PLUS, right);<br />

else<br />

left = new ExpressionNode(left, ExpressionNode.MINUS, right);<br />

}<br />

)*


7.3. VERARBEITUNG DER EINGABE 151<br />

}<br />

{ return left; }<br />

ExpressionNode term(): {<br />

ExpressionNode left, right;<br />

Token x;<br />

}<br />

{<br />

left = unary()<br />

(<br />

(x = | x = ) right = unary()<br />

{<br />

if (x.kind == MULTIPLY) {<br />

left = new ExpressionNode(left, ExpressionNode.MULTIPLY, right);<br />

} else {<br />

left = new ExpressionNode(left, ExpressionNode.DIVIDE, right);<br />

}<br />

}<br />

|<br />

right = power()<br />

{<br />

left = new ExpressionNode(left, ExpressionNode.MULTIPLY, right);<br />

}<br />

)*<br />

{ return left; }<br />

}<br />

Der Ausdruck t + 4.2 cos(phi) wird beispielsweise in zwei Unterbäume left (t) und<br />

right (4.2 cos(phi)) zerlegt. Der Wurzelknoten für die Addition wird mit<br />

new ExpressionNode(left, ExpressionNode.PLUS, right)<br />

erzeugt.<br />

Auf left und right wird dann jeweils die Regelterm angewandt. Der linke Ast durchläuft<br />

die Regeln unary, power sowie element (vgl. 7.2.1) und liefert schließlich als Blatt des<br />

linken Astes die Variable t.<br />

Im rechten Ast wird die Multiplikation mittels<br />

new ExpressionNode(left, ExpressionNode.MULTIPLY, right)<br />

wieder in zwei neue Unterbäume zerlegt. Links kommt so als Blatt die Zahl 4.2 in den<br />

Unterbaum. Rechts werden im Weiteren zunächst ein Knoten mit der Operation Cosinus<br />

und schließlich als Blatt die Variable phi eingefügt.<br />

Auf diese Art und Weise können wir für jeden gültigen arithmetischen Ausdruck einen<br />

Strukturbaum erzeugen. Wir sehen auch, dass unsere Bäume nicht immer binär sind, d.h.


152 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

nicht jeder innere Knoten hat genau zwei Kinder. Die Funktion cos im obigen Beispiel hat<br />

beispielsweise nur ein Argument und der entsprechende Knoten daher nur ein Kind. Jeder<br />

Knoten unserer Bäume hat höchstens zwei Kinder.<br />

7.3.3 Auswertung arithmetischer Ausdrücke<br />

Welche Datenstrukturen brauchen wir nun, um arithmetische Ausdrücke speichern und<br />

auswerten zu können?<br />

Für die inneren Knoten der arithmetischen Bäume verwenden wir die bereits genannten<br />

ExpressionNode Objekte. Sie speichern eine Rechenoperation und ein oder zwei Kinder.<br />

Beispiele dazu haben wir im letzten Unterabschnitt gesehen. Die Blätter (Endknoten)<br />

unserer Bäume sind Zahlen oder Vektoren, wobei auch Variablen dieser Typen möglich<br />

sind.<br />

Den Baum eines arithmetischen Ausdrucks wollen wir nun auswerten können und dadurch<br />

eine Zahl oder einen Vektor als Ergebnis erhalten. Dazu werten wir den Baum<br />

rekursiv, beginnend mit dem Wurzelknoten, aus:<br />

• Ein Blatt (Zahl oder Vektor) liefert sich selbst als Ergebnis. Bei Variablen wird die<br />

aktuelle Belegung zurückgegeben.<br />

• Ein innerer Knoten (ExpressionNode) wertet zunächst seine Kinder aus. Danach<br />

wird seine Rechenoperation auf die Werte der Kinder angewandt und das Ergebnis<br />

zurückgegeben.<br />

Die eigentliche Arbeit machen also die inneren Knoten. Dazu muss die Klasse<br />

ExpressionNode folgende Rechenoperationen auf Zahlen und Vektoren ausführen können:<br />

PLUS Zahl + Zahl<br />

Vektor + Vektor<br />

MINUS Zahl - Zahl<br />

Vektor - Vektor<br />

MULTIPLY Zahl * Zahl<br />

Zahl * Vektor<br />

Vektor * Zahl<br />

Vektor * Vektor (inneres Produkt)<br />

DIVIDE Zahl / Zahl<br />

Vektor / Zahl<br />

POWER Zahl ˆ Zahl<br />

Vektor ˆ 2 (inneres Produkt)<br />

COS, SIN, TAN, ... Zahl


7.3. VERARBEITUNG DER EINGABE 153<br />

Alle anderen Operationen sind ungültig. Unsere Grammatik lässt aber auch Ausdrücke<br />

wie 1 + (2, -3) zu (vgl. 7.2.2). Die Auswertung eines solchen Ausdrucks produziert jedoch<br />

einen Fehler. Damit können wir die Gültigkeit einer Eingabe anhand der folgenden<br />

beiden Bedingungen überprüfen:<br />

1. Der Ausdruck ist mittels der Grammatik G ECV herleitbar. Dabei erhalten wir einen<br />

Strukturbaum.<br />

2. Die Auswertung des Strukturbaumes liefert keinen Fehler.<br />

7.3.4 Gleichungen<br />

Bisher haben wir erklärt, wie arithmetische Ausdrücke dargestellt und ausgwertet werden<br />

können. Dies wollen wir nun auch für Gleichungen tun.<br />

Eine Gleichung besteht aus zwei arithmetischen Ausdrücken links und rechts von einem<br />

Gleichheitszeichen. Genauer gesagt muss einer dieser beiden Ausdrücke ein Polynom in x<br />

und / oder y sein. Damit ist etwa k = 4s - t keine Gleichung, sondern eine Zuweisung,<br />

da weder x noch y vorkommt. Eine Gleichung wäre zum Beispiel 3x - 4y = 7.<br />

Gleichungen können wir durch die Strukturbäume ihrer beiden Seiten darstellen. Mindestens<br />

einer dieser beiden Bäume enthält als Blatt eine der Variablen x oder y.<br />

Beispiel. Betrachten wir den Ausdruck (x-2) 2 = (6x - y)/5 + k. Auf der linken Seite<br />

(x − 2) 2 kommt ein x vor. Damit muss es sich um eine Gleichung handeln. Die rechte<br />

Seite beinhaltet neben den Polynomvariablen x und y auch die Zahlvariable k. Die Strukturbäume<br />

der beiden Seiten sind in den Abbildungen 7.2 und 7.3 zu sehen.<br />

Abbildung 7.2: Linker Teilbaum (x − 2) 2<br />

7.3.5 Normalform von Gleichungen<br />

Die Lösungsmengen der eingegebenen Gleichungen wollen wir als Geraden oder Kegelschnitte<br />

interpretieren. Dazu müssen wir die Eingaben zunächst auf folgende Normalformen<br />

bringen:<br />

• Gerade: ax + by + c = 0


154 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

Abbildung 7.3: Rechter Teilbaum (6x − y)/5 + k<br />

• Kegelschnitt: ax 2 + bxy + cy 2 + dx + ey + f = 0<br />

Etwas allgemeiner definieren wir dazu die Normalform einer Gleichung unserer Grammatik.<br />

Normalform: Unter der Normalform einer Gleichung e in G ECV wollen wir ihre Darstellung<br />

der Form ∑ n ∑ m<br />

i=0 j=0 a ijx i y j = 0 mit n, m ∈ N 0 ; a ij ∈ R, 0 ≤ i ≤ n, 0 ≤ j ≤ m<br />

verstehen.<br />

Grad: Als Grad (deg) einer Gleichung e in Normalform definieren wir:<br />

deg(e) := max{i + j|a ij ≠ 0, 0 ≤ i ≤ n, 0 ≤ j ≤ m}<br />

Für uns sind nur die Fälle deg = 1 (Gerade) und deg = 2 (Kegelschnitt) interessant.<br />

Wie können wir nun eine Eingabe wie (x-2) 2 = (6x - y)/5 + k umformen, sodass eine<br />

Gleichung in Normalform vorliegt?<br />

Dazu müssen alle Klammern ausmultipliziert werden. Um dies zu ermöglichen, geben<br />

wir zwei zusätzliche Bedingungen für gültige Gleichungseingaben an:<br />

1. Alle Exponenten von Polynomen sind natürliche Zahlen.<br />

2. Alle Divisoren sind Zahlen.<br />

Die Ausdrücke x^0.5 - 3 = y oder4/x = 7y sind ungültige Gleichungen, da sie gegen<br />

die erste bzw. zweite Bedingung verstoßen. Da wir aber nur an Geraden- und Kegelschnittgleichungen<br />

interessiert sind, stellen diese Bedingungen keine wirkliche Einschränkung dar.<br />

Insbesondere können Gleichungen beliebig komplizierte Klammerausdrücke enthalten.<br />

Für Eingaben, die der Grammatik G ECV und diesen Bedingungen genügen, sollen nun<br />

Datenstrukturen vorgestellt werden, die eine Vereinfachung auf klammerfreie Normalformen<br />

erlauben.


7.3. VERARBEITUNG DER EINGABE 155<br />

Dazu verwenden wir Polynome in x und y. Darunter wollen wir uns eine Liste von<br />

Summanden vorstellen, von denen jeder aus einem Koeffizienten und Variablenteil besteht.<br />

Die Koeffizienten sind dabei arithmetische Ausdrücke, die wie oben beschrieben als Bäume<br />

dargestellt werden.<br />

Beispiel. Das Polynom3x 2 - 4.7xy + 3x + k - 2 besteht also aus den vier Summanden<br />

[3,xx], [-4.7,xy], [3,x], [k-2,]. Der Summand [-4.7, xy] hat den Koeffiziententeil<br />

-4.7 und den Variablenteil xy. Beim konstanten Summanden [k-2,] wird deutlich, dass<br />

wir arithmetische Ausdrücke für den Koeffiziententeil benötigen, weil ja auch Variablen<br />

vorkommen können.<br />

Das gesamte Polynom 3x 2 - 4.7xy + 3x + k - 2 schreiben wir in geschwungenen<br />

Klammern als {[3,xx][-4.7,xy][3,x][k-2,]}.<br />

Jetzt erweitern wir die arithmetischen Bäume so, dass auch Polynome als Blätter<br />

möglich sind. Dazu müssen folgende Rechenoperationen mit Polynomen möglich sein:<br />

PLUS Polynom + Polynom<br />

MINUS Polynom - Polynom<br />

MULTIPLY Polynom * Polynom<br />

DIVIDE Polynom / Zahl<br />

POWER Polynom ˆ natürliche Zahl<br />

Um eine Gleichung auf Normalform zu bringen, gehen wir nun folgendermaßen vor:<br />

1. Wir bringen die rechte Seite der Gleichung nach links.<br />

2. Wir werten den linken Strukturbaum aus und erhalten als Ergebnis das gesuchte<br />

Polynom in Normalform.<br />

Beispiel. Betrachten wir nun nochmals die Abbildungen 7.2 und 7.3. Dort sind die beiden<br />

Seiten der Gleichung (x-2) 2 = (6x - y)/5 + k als Strukturbäume dargestellt.<br />

Bringen wir zunächst die rechte Seite nach links. Dazu fügen wir einfach mittels<br />

left = new ExpressionNode(left, ExpressionNode.MINUS, right)<br />

einen Knoten ein und erhalten einen neuen Strukturbaum für die linke Seite (Abbildung<br />

7.4).<br />

Nun werten wir die Wurzel dieses Baumes aus. Rekursiv gelangen wir so bis zu den<br />

Blättern. Mit Hilfe unserer oben eingeführten Notation für Polynome geben wir hier nun die<br />

Operationen an, die schließlich zur Normalform unseres Beispiels führen. Wir durchlaufen<br />

dabei den Baum von links nach rechts und geben die Zwischenergebnisse an.<br />

Polynome schreiben wir wieder in geschwungenen Klammern {}, ihre Summanden in<br />

eckigen []. Die Variable x wird intern als Polynom {[1,x]} dargestellt.<br />

{[1,x]} - 2 -> {[1,x][-2,]}<br />

{[1,x][-2,]} ^ 2 -> {[1,xx][-4,x][4,]}<br />

6 * {[1,x]} -> {[6,x]}


156 KAPITEL 7. ALGEBRAISCHE EINGABE<br />

Abbildung 7.4: Strukturbaum von (x − 2) 2 − ((6x − y)/5 + k)<br />

{[6,x]} - {[1,y]} -> {[6,x][-1,y]}<br />

{[6,x][-1,y]} / 5 -> {[6/5,x][-1/5,y]}<br />

{[6/5,x][-1/5,y]} + k -> {[6/5,x][-1/5,y][k,]}<br />

{[1,xx][-4,x][4,]} - {[6/5,x][-1/5,y][k,]}<br />

-> {[1,xx][-4-6/5,x][1/5,y][4-k,]}<br />

Dies entspricht dem Polynom x 2 +(−4−6/5)x+1/5y +4−k. Die Gleichung (x−2) 2 =<br />

(6x − y)/5 + k hat daher die Normalform x 2 + (−4 − 6/5)x + 1/5y + 4 − k = 0.<br />

Nach der Eingabe einer Gleichung kommen wir also mit Hilfe von Polynomen und<br />

arithmetischen Strukturbäumen zu ihrer Normalform. Die konstanten Koeffizienten (ohne<br />

Variablen) brauchen nur einmal berechnet zu werden. Die abhängigen Koeffizienten müssen<br />

wir jedoch bei jeder Änderung ihrer Variablen wieder neu auswerten.<br />

7.4 Das Paket arithmetic<br />

Zusammenfassend ist hier das UML Klassendiagramm (UML = Unified Modeling Language,<br />

[1]) des Pakets arithmetic abgedruckt. Dieses Paket dient der in diesem Kapitel<br />

besprochenen Verarbeitung arithmetischer Ausdrücke und Gleichungen.<br />

Gültige Ausdrücke (ValidExpression) sind Zahlen (MyDouble), Vektoren (MyVecNode),<br />

Gleichungen (Equation), arithmetische Ausdrücke (ExpressionNode), Parameterdarstellungen<br />

(Parametric) und Befehle (Command).<br />

Gleichungen haben zwei Seiten, die jeweils ein Polynom (Polynomial) darstellen. Ein<br />

Polynom besteht aus mehreren Summanden (Term).<br />

Für den Aufbau der Baumstruktur werden Knoten (ExpressionNode) gebraucht, ihre<br />

Kinder müssen die Schnittstelle ExpressionValue implementieren. In einem arithmetischen<br />

Strukturbaum können also Zahlen, Vektoren und Polynome verwendet werden.


7.4. DAS PAKET ARITHMETIC 157<br />

ValidExpression<br />

MyDouble<br />

MyVecNode<br />

Equation<br />

ExpressionNode<br />

Parametric<br />

Command<br />

Polynomial<br />

Term<br />

NumberValue<br />

VectorValue<br />

ExpressionValue<br />

Abbildung 7.5: Klassendiagramm des Pakets arithmetic<br />

Im Diagramm fehlen nur die Klassen für variable Zahlen (GeoNumeric) und Punkte<br />

(GeoPoint) bzw. Vektoren (GeoVector). Diese werden später im Paket kernel behandelt.<br />

An dieser Stelle sei nur erwähnt, dass GeoNumeric die Schnittstelle NumberValue sowie<br />

GeoPoint und GeoVector die Schnittstelle VectorValue implementieren. Damit ist gewährleistet,<br />

dass Objekte dieser Klassen als Variablen in arithmetischen Bäumen verwendet<br />

werden können.


158 KAPITEL 7. ALGEBRAISCHE EINGABE


Kapitel 8<br />

Kernel<br />

Unser Computerprogramm soll mit Zahlen, Punkten, Vektoren und Kegelschnitten rechnen<br />

können. In diesem Kapitel wollen wir darauf eingehen, wie wir diese Objekte und ihre<br />

Abhängigkeiten im Rechner repräsentieren.<br />

8.1 Datenstrukturen und Algorithmen<br />

Der klassische Ansatz dynamischer Geometriesysteme basiert auf Vererbungshierarchien.<br />

Dabei gibt es beispielsweise für Punkte viele verschiedene Klassen (z.B. Point, PointOnLine,<br />

IntersectLineLine, IntersectLineConic). Diese Klassen speichern die Koordinaten eines<br />

Punktes und beinhalten Algorithmen zu deren Berechnung (z.B. Schnitt Gerade-Gerade)<br />

sowie Methoden zur grafischen Darstellung am Bildschirm.<br />

Wir verwenden hier den Algorithmen-Ansatz (vgl. [12, p.125]). Dabei wird das mathematische<br />

Modell (Koordinaten, Matrizen) von den Algorithmen, die für Berechnungen<br />

zuständig sind, getrennt. Die Darstellung der Objekte am Bildschirm wird in einen anderen<br />

Teil des Programmes verlagert, worauf wir in Kapitel 9 eingehen werden.<br />

8.1.1 Datenstrukturen<br />

Kegelschnitte repräsentieren wir in der Klasse GeoConic durch eine reelle 3 × 3 Matrix<br />

(vgl. Kurven zweiten Grades 4.5.2, p.71). Da diese Matrix symmetrisch ist, brauchen wir<br />

nicht alle 9, sondern nur 6 Einträge zu speichern.<br />

Zahlen und Winkel sind Instanzen der Klassen GeoNumeric bzw. GeoAngle. Ein Winkel<br />

ist eine spezielle Zahl, deren Wert immer zwischen 0 und 2π liegt. In beiden Fällen muss<br />

nur eine Fließkommazahl gespeichert werden.<br />

Für die Darstellung von Geraden, Punkten und Vektoren verwenden wir homogene<br />

Koordinaten, also dreidimensionale Vektoren. Für eine Gerade wird entsprechend ihrer<br />

Gleichung ax+by+c = 0 der Koeffizientenvektor (a, b, c) gespeichert. Punkte und Vektoren<br />

werden ebenfalls als Koordinatentripel (x, y, z) dargestellt. Die Punkte entsprechen dabei<br />

159


160 KAPITEL 8. KERNEL<br />

GeoElement<br />

GeoConic<br />

GeoNumeric<br />

GeoVec3D<br />

GeoAngle<br />

GeoLine<br />

GeoPoint<br />

GeoVector<br />

Abbildung 8.1: Vererbungshierarchie der geometrischen Klassen<br />

den endlichen und die Vektoren den unendlich fernen projektiven Punkten des P(R 3 ). Für<br />

Punkte gilt stets z ≠ 0 und für Vektoren z = 0 (vgl. Projektive Geometrie 5, p.103).<br />

Die geometrischen Klassen sind einfach gehalten. Sie dienen in erster Linie der Speicherung<br />

geometrischer Objekte. Wie wir in Abbildung 8.1 sehen, kommen wir mit einer<br />

einzigen Klasse für alle Kegelschnitte aus. Die Klasse GeoConic hat eine Methode zur<br />

Klassifikation von Kegelschnitten. GeoConic Objekte wissen dadurch immer, ob sie beispielsweise<br />

ein Kreis oder eine Parabel darstellen.<br />

8.1.2 Algorithmen<br />

Neben den geometrischen Klassen verwenden wir auch Klassen für Algorithmen, um die<br />

konstruktive Definition von Objekten zu beschreiben. Ein Algorithmus verwendet geometrische<br />

Objekte als Eingaben und liefert solche als Ausgabe. Er arbeitet also unabhängig<br />

von den Objekten mit deren Koordinaten und Matrizen.<br />

Warum trennen wir Algorithmen und geometrische Objekte?<br />

It turns out that the traditional subclassing approach is not feasible for efficient<br />

Dynamic Geometry software [...]. The crucial point is that we will never<br />

calculate one intersection of a conic and a line, but always both intersections,<br />

we will never calculate one intersection of two conics, but all four of them. [12,<br />

p.125]<br />

Beispiel. Eine Gerade g sei definiert als Gerade durch zwei Punkte A und B. Diese geometrische<br />

Konstruktion wird durch ein Algorithmus Objekt vom Typ AlgoJoinPoints repräsentiert<br />

(Abbildung 8.2). Als Eingabe verlangt er zwei Punkte. Seine Ausgabe ist eine<br />

Gerade.<br />

Da der Algorithmus AlgoJoinPoints die Gerade g erzeugt, nennen wir ihn den Vateralgorithmus<br />

von g. Der Algorithmus AlgoJoinPoints hat die Punkte A und B als Eingaben.<br />

Wir sagen auch, dass der Algorithmus von A und B abhängt.


8.1. DATENSTRUKTUREN UND ALGORITHMEN 161<br />

Abbildung 8.2: Algorithmus zur Berechnung der Geraden durch zwei Punkte<br />

Alle Objekte ohne Vateralgorithmus nennen wir frei oder unabhängig. Alle Objekte,<br />

die einen Vateralgorithmus besitzen, nennen wir abhängig.<br />

8.1.3 Aktualisierung der Abhängigkeiten<br />

Die Abhängigkeiten der Objekte werden mit Hilfe von Algorithmen dargestellt. Die Gerade<br />

g durch zwei Punkte A und B hängt von diesen beiden Punkten ab. Ändert sich einer der<br />

Punkte A oder B, so muss die Gerade g neu berechnet werden. Wie funktioniert dies mit<br />

unseren Datenstrukturen und Algorithmen?<br />

Jedes geometrische Objekt (GeoElement) besitzt dazu eine Liste seiner abhängigen<br />

Algorithmen. Wenn sich ein GeoElement ändert, werden alle seine abhängigen Algorithmen<br />

aktualisiert. Diese Algorithmen berechnen dabei alle ihre Ausgaben neu.<br />

Jede dieser Ausgaben ist ein GeoElement und kann ihrerseits wieder abhängige Algorithmen<br />

besitzen, die nun auch aktualisiert werden müssen, usw.<br />

Beispiel. Betrachten wir dazu folgende einfache Situation. Wir haben drei freie Punkte<br />

A, B, C. Durch A und B legen wir eine Gerade g. Danach konstruieren wir die Gerade h<br />

als Senkrechte zu g durch den Punkt C (Abbildung 8.3).<br />

Abbildung 8.3: Senkrechte h durch C zu g<br />

Im Kernel werden für diese Konstruktion fünf geometrische Objekte und zwei Algorithmen<br />

erzeugt (Abbildung 8.4).


162 KAPITEL 8. KERNEL<br />

Abbildung 8.4: Situation im Kernel<br />

Sehen wir uns nun an, was passiert, wenn wir den Punkt B verschieben. Einerseits muss<br />

sich die Gerade g verändern, die durch B verläuft. Außerdem ändert sich auch die Gerade<br />

h, welche senkrecht zu g steht. Wie diese Aktualisierung im Kernel vor sich geht, erklären<br />

wir anhand von Abbildung 8.5.<br />

Abbildung 8.5: Aktualisierung nach Änderung von B<br />

Nach der Verschiebung von B werden alle abhängigen Algorithmen von B aktualisiert.<br />

Es gibt nur einen solchen Algorithmus, nämlich AlgoJoinPoints. AlgoJoinPoints berechnet<br />

mit Hilfe des veränderten Punktes B und des unveränderten Punktes A die neuen<br />

Koeffizienten der Geraden g.<br />

Da sich damit die Gerade g verändert hat, müssen auch ihre abhängigen Algorithmen<br />

erneut tätig werden. AlgoOrthogonal berechnet nun zu der geänderten Geraden g und dem<br />

unveränderten Punkt C die Senkrechte h. Da es keine Algorithmen gibt, die h als Eingabe<br />

haben, ist die Aktualisierung damit abgeschlossen.


8.2. KONTINUITÄT 163<br />

8.2 Kontinuität<br />

Wenn wir uns eine geometrische Konstruktion vorstellen, haben wir gewöhnlich eine statische<br />

Anordnung geometrischer Objekte vor Augen, wie etwa in Abbildung 8.3.<br />

Dynamische Geometrie Systeme erlauben es, freie Elemente einer Konstruktion durch<br />

Ziehen mit der Maus zu verändern. Dabei werden alle abhängigen Objekte dynamisch<br />

mitverändert. Es entsteht so eine Folge vieler statischer Anordnungen. Diese Folge soll<br />

möglichst kontinuierlich sein, d.h. man möchte keine springenden Objekte.<br />

8.2.1 Doppelter Bisektor<br />

Betrachten wir folgende Konstruktion: Zwei Geraden a und b und eine Winkelsymmetrale<br />

(Bisektor) c von a und b verlaufen durch einen Punkt A (Abbildung 8.6). Zur Veranschaulichung<br />

der Richtung von c ist der Punkt C auf c eingezeichnet. Weiters nehmen wir an,<br />

dass b fix ist und a um den Punkt A rotiert werden kann. Offensichtlich muss c um α 2<br />

rotiert werden, wenn a um α rotiert wird, um eine kontinuierliche Bewegung zu erhalten.<br />

Nach zwei ganzen Umdrehungen von a wird der Punkt C wieder in seiner Ausgangslage<br />

sein.<br />

Was passiert, wenn wir eine weitere Winkelsymmetrale d von b und c erzeugen? Diese<br />

Gerade soll sich bei Rotation von a um den Winkel α drehen. Der auf d liegende Punkt<br />

4<br />

D wird daher nach vier ganzen Umdrehungen von a wieder in seine Ausgangslage zurückkehren<br />

(vgl. Abbildungen 8.6 bis 8.9).<br />

Abbildung 8.6: Ausgangslage<br />

In allen vier Situationen sind die Eingaben (a und b) der Konstruktion gleich, ihre<br />

Ergebnisse aber verschieden, weil wir kontinuierliche Bewegungen gefordert haben. Die<br />

Ausgabe ist also nicht allein durch die Eingabe festgelegt (determiniert).<br />

Sobald man in einem dynamischen Geometrie System die Konstruktion zweier Winkelsymmetralen<br />

zulässt, ist es nicht möglich, gleichzeitig kontinuierliche Bewegungen und<br />

Determiniertheit zu erreichen. Kontinuität zerstört Determiniertheit. (vgl. [12, pp.84]).


164 KAPITEL 8. KERNEL<br />

Abbildung 8.7: Nach einer ganzen Umdrehung von a<br />

Abbildung 8.8: Nach zwei ganzen Umdrehungen von a<br />

Abbildung 8.9: Nach drei ganzen Umdrehungen von a


8.2. KONTINUITÄT 165<br />

Die eben vorgestellte Konstruktion eines kontinuierlichen doppelten Bisektors ist nicht<br />

in allen dynamischen Geometrie Systemen möglich. Im weit verbreiteten Programm Cabrigéomètre<br />

II springt etwa der zweite Bisektor d von der Lage in Abbildung 8.6 in jene von<br />

Abbildung 8.9, sobald a um mehr als eine halbe Umdrehung gedreht wird.<br />

8.2.2 Das Kontinuitätsproblem<br />

Doppelte Bisektoren sind ein Beispiel für das sogenannte Kontinuitätsproblem in dynamsichen<br />

Geometrie Systemen. Man möchte kontinuierliche Bewegungen erreichen und springende<br />

Objekte vermeiden. Wie bereits angesprochen genügt es dazu nicht allein, die Eingaben<br />

einer Konstruktion zu kennen. Wie beim doppelten Bisektor ist für die Kontinuität<br />

nämlich auch entscheidend, was vorher war, also aus welcher Situation die darzustellende<br />

Anordnung der Objekte hervorgeht.<br />

Die klassichen Systeme wie etwa Cabri versuchen, durch Unterscheidung von Vorzeichen<br />

kontinuierliches Verhalten zu erreichen. Kortenkamp [12] hat gezeigt, dass man damit<br />

zwar einen Teil der Probleme umgehen, aber keine echte Lösung erreichen kann. Die fehlgeschlagene<br />

doppelte Bisektor-Konstruktion in Cabri ist ein Beispiel für die Unzulänglichkeit<br />

des Vorzeichen-Ansatzes.<br />

Um das Kontinuitätsproblem zu lösen muss man leider etwas mehr Aufwand betreiben:<br />

Kortenkamp greift dazu auf projektive Geometrie im Komplexen und Methoden der<br />

Funktionentheorie zurück. Im Folgenden wollen wir kurz auf die Grundideen dieser Lösung<br />

eingehen.<br />

Betrachten wir dazu ein weiteres Beispiel für das Kontinuitätsproblem: Ein Kreis wird<br />

mit einer Geraden geschnitten. Dabei entstehen zwei Schnittpunkte A und B. Nun verschieben<br />

wir die Gerade. Dabei sollen die Punkte A und B nicht ihre Plätze tauschen. Bei<br />

jeder Verschiebung müssen die Schnittpunkte neu berechnet werden. Jedesmal gibt es zwei<br />

Möglichkeiten, wie wir sie benennen - doch welche sollen wir wählen?<br />

Nähe-Beziehung<br />

Die Antwort auf diese Frage scheint sehr einfach: Wir nehmen jene neue Punkte Belegung,<br />

bei der die Summe der Abstände zu den alten Punkten am kleinsten ist. Kontinuität<br />

charakterisieren wir somit als Nähe-Beziehung.<br />

Under the assumption of continuity the new points should be close to the old<br />

points after a small movement. [12, p.92]<br />

Mit dieser Methode stoßen wir sofort auf einige Probleme. Um die Abstände zwischen<br />

alten und neuen Schnittpunkten messen zu können, müssen alle definiert sein. Was passiert<br />

aber, wenn die Gerade den Kreis nicht mehr schneidet? Hier kommen die komplexen Zahlen<br />

ins Spiel. Beim Schnitt eines Kreises mit einer Geraden ist eine quadratische Gleichung zu<br />

lösen. Diese hat im Komplexen stets zwei Lösungen. Ein Kreis und eine Gerade haben also<br />

immer zwei Schnittpunkte, deren Koordinaten möglicherweise komplexe Zahlen sind.


166 KAPITEL 8. KERNEL<br />

Die Verwendung komplexer Zahlen hat fundamentale Konsequenzen für das gesamte<br />

System. Wir haben es damit nämlich nicht mehr mit euklidischer, sondern mit Cayley-Klein<br />

Geometrie in der komplexen projektiven Ebene zu tun. Hier ist nicht ohne Weiteres klar,<br />

wie man überhaupt Abstände zwischen Punkten messen kann. Neben den Schwierigkeiten,<br />

die diese Geometrie mit sich bringt, erhöht sich auch der Speicher- und Rechenaufwand<br />

um ein Vielfaches. Punkte haben hier etwa eine 6-dimensionale (!) Repräsentierung. Cinderella,<br />

das System von Kortenkamp und Richter-Gebert, wurde auf diese Art und Weise<br />

implementiert.<br />

Singularitäten<br />

Es gibt aber noch ein weiteres, viel größeres Problem mit der Methode der Nähe-Beziehung:<br />

Singularitäten. Wenn zwei Punkte sehr nahe nebeneinander oder sogar übereinander liegen,<br />

können wir sie mit Hilfe der Nähe-Beziehung nicht mehr unterscheiden. Dies passiert etwa,<br />

wenn die Sekante eines Kreises zu einer Tangente wird (Abbildung 8.10).<br />

Abbildung 8.10: Singularität beim Schnitt eines Kreises und einer Geraden [12, p.95]<br />

Bis 1999 war keine befriedigende Lösung für dieses Problem gefunden worden. Oft<br />

wurde sogar die Meinung vertreten, dass es gar keine Lösung des Kontinuitätsproblems für<br />

Singularitäten geben kann.<br />

Bei der Bewegung eines Punktes von A nach B werden die Punkte (1 − λ)A + λB mit<br />

λ ∈ [0, 1] verwendet, um mit der Nähe Beziehung zu arbeiten. Das einzige Problem tritt<br />

auf, wenn wir durch eine Singularität kommen: hier können wir die Punkte nicht mehr<br />

unterscheiden.<br />

How can we handle these degenerate situations, how can we avoid the singularities?<br />

The answer is, we will just avoid them by not walking through them. We<br />

can choose another path from A to B than the segment [0, 1]. All basic operations<br />

still work for complex numbers, so we can choose any path p : [0, 1] → C<br />

from p(0) = 0 to p(1) = 1 in the complex plane. We use this path as a para-


8.2. KONTINUITÄT 167<br />

metrization for the movement from A to B; the intermediate points now lie at<br />

(1 − p(λ))A + p(λ)B with λ ∈ [0, 1]. [12, p.104]<br />

Die Funktionentheorie besagt, dass es einen solchen Weg immer gibt. Die Frage ist, wie<br />

man ihn schnell findet. Dieses sogenannte Complex Tracing ist in Cinderella mit einem<br />

heuristischen Algorithmus implementiert, der fast immer einen Weg um die Singularität<br />

findet (vgl. [12, pp.128]).<br />

8.2.3 Heuristischer Ansatz mittels Nähe-Beziehung<br />

Auch wir wollen für unser Programm kontinuierliches Verhalten erreichen. Allerdings handelt<br />

es sich bei unserem Projekt um kein dynamisches Geometrie System im herkömmlichen<br />

Sinn. In Cabri oder Cinderella werden Veränderungen immer nur mit der Maus vorgenommen.<br />

Das Ziehen eines Punktes von A nach B ist selbst eine kontinuierliche Bewegung.<br />

Ein entscheidendes Merkmal unseres Programmes ist aber die zusätzliche Möglichkeit<br />

der algebraischen Veränderung von Objekten. Wir können so die neuen Koordinaten eines<br />

Punktes direkt eingeben. Damit springt der Punkt von A nach B, und die Kontinuität<br />

ist zerstört. Auch Gleichungen können verändert werden: aus einer Ellipse kann im Nu<br />

eine Hyperbel entstehen, aus einem Kreis eine Parabel. Die Möglichkeit der algebraischen<br />

Manipulation führt also in natürlicher Weise zu nicht-kontinuierlichem Verhalten.<br />

Deshalb ist Kontinuität für uns zwar wichtig und erstrebenswert, aber nicht alles. Wir<br />

verwenden einen heuristischen Ansatz: Alle Algorithmen, die bei gleicher Eingabe mehrere<br />

Ausgabemöglichkeiten haben, verwenden die letzte Ausgabe und verschiedene Arten der<br />

Nähe-Beziehung, um die beste Wahl zu treffen. Kommen wir in eine Singularität, wird<br />

irgendeine Wahl getroffen.<br />

Im Folgenden werden die Vorgangsweisen für die Anwendung der Nähe-Beziehung bei<br />

Algorithmen, die als Ausgabe Punkte und Vektoren bzw. Geraden haben, erläutert.<br />

Nähe-Beziehung von Punkten<br />

Beim Schnitt zweier Kegelschnitte a und b können 0 bis 4 Schnittpunkte auftreten. Wird<br />

ein Kegelschnitt verschoben, so berechnet der Schnittalgorithmus die neuen Schnittpunkte.<br />

Wie sollen die neuen Ergebnisse den alten Schnittpunkten zugeordnet werden, ohne dass<br />

diese springen? Dieses Problem wollen wir als Beispiel für unseren heuristischen Einsatz<br />

der Nähe-Beziehung von Punkten betrachten.<br />

Bei vier alten und vier neuen Schnittpunkten gibt es 4! = 24 Permutationen, wie die<br />

neuen Koordinaten den alten Punkten zugeordnet werden können. Zu einer Eingabe (a<br />

und b) gibt es also 24 Ausgabemöglichkeiten. Welche sollen wir nehmen?<br />

Seien P 1 , . . ., P 4 die alten und Q 1 , . . .,Q 4 die neu berechneten Schnittpunkte. Die P i<br />

und Q i können auch undefiniert sein. Seien weiters D 1 , . . .,D 4 Punkte mit folgender Eigenschaft:<br />

D i = die letzte definierte Belegung von P i . Die Punkte D 1 , . . ., D 4 sind damit<br />

immer definiert. Außerdem brauchen wir noch Werte age 1 , . . .,age 4 , die angeben, seit wie


168 KAPITEL 8. KERNEL<br />

vielen Neuberechnungen der Schnittpunkt P i undefiniert ist. Anders ausgedrückt gibt age i<br />

an, seit wievielen Neuberechnungen der Punkt D i nicht durch eine neue Belegung von P i<br />

aktualisiert wurde.<br />

Die Idee ist nun folgende: Wir berechnen alle Abstände der neu berechneten Schnittpunkte<br />

Q 1 , . . ., Q 4 zu den zuletzt definierten Schnittpunkten D 1 , . . .,D 4 :<br />

dist ij := (Q i − D j ) 2 + age 2 i.<br />

Wenn der Punkt Q i undefiniert ist, wird dist ij = max Qi definiert(dist ij ) + 1 gesetzt. Undefinierte<br />

Punkte sind also weit entfernt.<br />

Nun berechnen wir für alle 24 Permutationen die Summe ihrer Abstände. Die Permutation<br />

{4,2,1,3} entspricht beispielsweise der Zuordnung {Q 1 , Q 2 , Q 3 , Q 4 } → {P 4 , P 2 , P 1 , P 3 }.<br />

Ihre Abstandssumme berechnet sich als:<br />

permdist {4,2,1,3} = dist 14 + dist 22 + dist 31 + dist 43<br />

Unter allen Permutationen wählen wir jene mit der kleinsten Abstandssumme. Die<br />

alten Schnittpunkte P i werden entsprechend dieser Permutation durch die neu berechneten<br />

Schnittpunkte Q i ersetzt. Abschließend müssen noch die definierten Punkte aktualisiert<br />

werden: Wenn das neue P i definiert ist, wird D i = P i und age i = 0 gesetzt. Ist der neue<br />

Schnittpunkt P i jedoch undefiniert, so wird das Alter des zugehörigen definierten Punktes<br />

D i um eins erhöht: age i = age i + 1.<br />

Warum brauchen wir die definierten Punkte D i ? Stellen wir uns dazu folgende Situation<br />

vor: Zunächst haben wir vier Schnittpunkte zweier Kegelschnitte. Jetzt verschieben wir<br />

einen Kegelschnitt so lange, bis sich die beiden Kegelschnitte schließlich gar nicht mehr<br />

schneiden. Alle Punkte P i sind jetzt undefiniert, da es keine Schnittpunkte mehr gibt. Die<br />

Punkte D i enthalten jedoch die letzten definierten Koordinaten jedes Schnittpunkts P i .<br />

Schieben wir nun den Kegelschnitt wieder zurück, sodass erneut Schnittpunkte entstehen.<br />

Wir wollen natürlich, dass die neu entstehenden Schnittpunkte in der Nähe ihren<br />

alten Positionen liegen. Ihre Namen sollen nicht plötzlich irgendwie vertauscht sein. Dazu<br />

müssen wir aber wissen, wo die alten definierten Schnittpunkte gelegen sind.<br />

Wozu speichern wir das Alter der Punkte D i ? Stellen wir uns wieder zwei Kegelschnitte<br />

mit vier Schnittpunkten A, B, C, D vor. Nun verschieben wir einen Kegelschnitt so<br />

weit, dass nur mehr die beiden Schnittpunkte C und D übrig bleiben. Wir verschieben<br />

den Kegelschnitt weiter, wobei es immer nur zwei Schnittpunkte C und D gibt, bis der<br />

Schnittpunkt C an die Position kommt, an der anfangs der Punkt A gelegen war. Wenn<br />

wir das Alter der definierten Punkte D i nicht berücksichtigen, kann es jetzt passieren, dass<br />

der Punkt C plötzlich den Namen A bekommt.<br />

Das Alter brauchen wir, um aktuell sichtbare Schnittpunkte den alten, gerade nicht<br />

sichtbaren Schnittpunkten vorzuziehen. Geometrisch kann man sich das so vorstellen, als<br />

würde ein undefinierter Schnittpunkt immer weiter aus der Zeichenebene herausgehoben,<br />

je länger er nicht wieder aktualisiert wird. Das Alter gibt quasi seinen Abstand von der<br />

Zeichenebene an.


8.3. NUMERIK 169<br />

Die eben beschriebene Vorgangsweise kann immer verwendet werden, wenn es um kontinuierliche<br />

Bewegungen von Punkten geht. Auch den Schnitt einer Geraden und eines<br />

Kegelschnittes können wir so behandeln.<br />

Nähe-Beziehung von Vektoren und Geraden<br />

Sei c eine Winkelsymmetrale der beiden Geraden a und b. Nun drehen wir a. Bei der<br />

Neuberechnung der Winkelsymmetrale c gibt es vier Möglichkeiten (zwei Geraden mit je<br />

zwei Orientierungen). Für welche sollen wir uns entscheiden?<br />

Bei Punkten haben wir die Nähe-Beziehung über Abstände realisiert. Bei Vektoren<br />

und Geraden können wir die Richtung verwenden. Die Richtungen der alten und neuen<br />

Winkelsymmetrale sollen sich möglichst wenig unterscheiden. Dies können wir über den<br />

Winkel bzw. das innere Produkt entscheiden.<br />

Seien w der normierte Richtungsvektor der alten Winkelsymmetrale und v 1 , . . .,v 4 die<br />

vier möglichen neuen normierten Richtungsvektoren. Wir nehmen nun jene Richtung, für<br />

die das innere Produkt<br />

dist i = 〈w, v i 〉<br />

minimal ist. Da dist i dem Cosinus des Winkels zwischen alter und neuer Richtung entspricht,<br />

ist für die gewählte Richtung die Winkeländerung minimal. Mit dieser Methode<br />

ist beispielsweise die Konstruktion eines kontinuierlichen doppelten Bisektors möglich<br />

(vgl.8.2.1).<br />

8.3 Numerik<br />

Unsere Algorithmen rechnen numerisch und nicht symbolisch. Damit müssen wir mit den<br />

Unzulänglichkeiten der Fließkomma Darstellung von Zahlen am Computer leben. Im Folgenden<br />

gehen wir auf einige Aspekte dieser Tatsache ein.<br />

8.3.1 Test auf Gleichheit<br />

Seien A(a x , a y ) und B(b x , b y ) zwei Punkte des R 2 . Sind diese beiden Punkte gleich? Mathematisch<br />

gesehen ist diese Frage trivial. Die beiden Punkte sind genau dann gleich, wenn<br />

a x = b x und a y = b y gilt.<br />

Sind die Koordinaten jedoch Fließkomma - Zahlen, dann wird die Antwort etwas schwieriger.<br />

Stellen wir uns vor, dass die beiden Punkte Ergebnis irgendwelcher numerischer Berechnungen<br />

sind. Bei jeder Berechnung können aufgrund der endlichen Fließkomma - Darstellung<br />

Rundungsfehler auftreten. Es kann also passieren, dass zwar mathemtisch A = B<br />

gelten müsste, die Bitmuster der Koordinaten aber verschieden sind.<br />

Man verwendet deshalb eine andere Art von Gleichheit, die sogenannte Epsilon - Gleichheit.<br />

Zwei gleiche Punkte A und B sollen fast gleiche Bitmuster besitzen. Wir schreiben


170 KAPITEL 8. KERNEL<br />

dafür A = ɛ B, wobei ɛ > 0 ist. Als Definition für die Epsilon-Gleichheit gibt es beispielsweise<br />

folgende Möglichkeiten [9]:<br />

• |a x − b x | ≤ ɛ ∧ |a y − b y | ≤ ɛ<br />

• |a x − b x | + |a y − b y | ≤ ɛ<br />

• √ (a x − b x ) 2 + (a y − b y ) 2 ≤ ɛ<br />

Die letzte Definition bedeutet geometrisch, dass B in einem Kreis mit Radius ɛ um<br />

A liegt. Ein Problem der Epsilon-Gleichheit ist, dass sie nicht transitiv ist (vgl. Abbildung<br />

8.11).<br />

Abbildung 8.11: A = ɛ B ∧ B = ɛ C A = ɛ C<br />

8.3.2 Schleifender Schnitt<br />

Betrachten wir folgendes Gleichungssystem:<br />

1.2969x + 0.8648y = 0.8642<br />

0.2161x + 0.1441y = 0.1440<br />

Als Maß für den Fehler einer Lösung X 0 des Gleichungssystems M · X = b verwenden<br />

wir folgendes Residuum:<br />

res(X) := ‖M · X − b‖<br />

Betrachten wir nun die Residuen einiger Punkte:<br />

A = (-0.000004, 0.9993)<br />

B = (0.9911, -0.4870)<br />

C = (2.0015, -2.0023)<br />

res(A) ≈ 10 −9<br />

res(B) ≈ 10 −8<br />

res(C) ≈ 10 −10


8.3. NUMERIK 171<br />

Abbildung 8.12: Schleifender Schnitt zweier Geraden<br />

Bei einer zugelassenen Ungenauigkeit von ɛ = 10 −7 sind alle drei Ergebnisse numerische<br />

Lösungen des obigen Gleichungssystems. In Abbildung 8.12 ist das obige Gleichungssystems<br />

als Schnitt zweier fast paralleler Geraden geometrisch dargestellt. Diese numerisch höchst<br />

instabile Situation nennt man einen schleifenden Schnitt. In der Abbildung sind die beiden<br />

Geraden gar nicht mehr unterscheidbar.<br />

Der exakte Schnittpunkt ist übrigens D = (2, −2) (res(D) = 0). Dieses Beispiel zeigt,<br />

dass selbst bei kleinem Residuum das numerische Resultat weit von der exakten Lösung<br />

entfernt sein kann: res(A) = 10 −9 , Abstand d(A, D) = 3.6.<br />

Bei der Berechnung eines Kreises durch drei Punkte A, B, C schneiden wir zur Berechnung<br />

des Mittelpunkts zwei der drei Streckensymmetralen s AB , s AC und s BC (vgl. 6.3.1,<br />

p.129). Um einen schleifenden Schnitt zu vermeiden, verwenden wir jene beiden Streckensymmetralen,<br />

deren Schnittwinkel möglichst nahe bei 90 ◦ liegt. Dazu genügt es, das Minimum<br />

der inneren Produkte der Richtungsvektoren zu finden.<br />

8.3.3 Relaxation of Thresholds<br />

Wie können wir nun möglichst genaue Resultate mit der Fließkomma - Arithmetik erzielen?<br />

Wie bereits angesprochen, verwendet man ein kleine Zahl ɛ, die den größten vertretbaren<br />

Fehler angibt. Mit diesem ɛ entscheiden wir etwa, ob zwei Punkte gleich sind oder ein<br />

Punkt ein Gleichungssystem löst.<br />

Doch wie soll man diese ɛ wählen? Ein zu kleiner Wert führt vielleicht dazu, dass wir<br />

bei einem Gleichungssystem keine Lösung finden können. Ein zu großer Wert liefert uns<br />

hingegen vielleicht eine sehr ungenaue Lösung. Aus diesen Gründen ist ein konstanter ɛ<br />

Wert problematisch.<br />

Wir verwenden deshalb den flexibleren Ansatz der Relaxation of Thresholds [9]: Sei<br />

ɛ machine die Maschinengenauigkeit. Dies ist die kleinste Zahl x, sodass x+1 ≠ 1 ergibt. Die<br />

Maschinengenauigkeit ist also das Beste, was wir erreichen können. Sei ɛ user die Benutzergenauigkeit.<br />

Sie entspricht dem größten Fehler, den wir machen dürfen.<br />

Als ɛ lassen wir nun nur Zahlen zwischen Maschinen- und Benutzergenauigkeit zu:<br />

ɛ machine ≤ ɛ ≤ ɛ user


172 KAPITEL 8. KERNEL<br />

Wir versuchen nun zunächst, ein Ergbnis mit ɛ in der Nähe der Maschinengenauigkeit<br />

zu berechnen. Falls dies nicht funktioniert, erhöhen wir unser ɛ und führen die Berechnung<br />

erneut durch. Dies machen wir solange, bis wir entweder ein Ergebnis gefunden haben,<br />

oder die Benutzergenauigkeit erreicht ist. Erst wenn wir auch mit der Benutzergenauigkeit<br />

keine Lösung finden können, geben wir auf.<br />

Auf diese Art bekommen wir ein möglichst gutes Resultat, da der zugelassene Fehler<br />

erst nach und nach erhöht wird. Gerade soweit, bis eine Lösung gefunden wurde.<br />

success = false;<br />

epsilon = EPSILON_MACHINE * 10E3;<br />

while (!success && epsilon


8.3. NUMERIK 173<br />

public static double length(double a, double b) {<br />

double res;<br />

double x = Math.abs(a);<br />

double y = Math.abs(b);<br />

}<br />

if (Kernel.isZero(x))<br />

res = y;<br />

else if (Kernel.isZero(y))<br />

res = x;<br />

else if (x > y) {<br />

double temp = y / x;<br />

res = x * Math.sqrt(1.0 + temp * temp);<br />

} else {<br />

double temp = x / y;<br />

res = y * Math.sqrt(1.0 + temp * temp);<br />

}<br />

return res;<br />

8.3.5 Quadratische und kubische Gleichungen<br />

Quadratische Gleichung<br />

Quadratische Gleichungen brauchen wir bei der Berechnung der Eigenvektoren von Kegelschnitten<br />

und beim Schnitt von Geraden und Kegelschnitten. Für die quadratische Gleichung<br />

ax 2 + bx + c = 0 mit a, b, c ∈ R kann man die Lösungen als<br />

x = −b ± √ b 2 − 4ac<br />

2a<br />

oder x =<br />

2c<br />

−b ± √ b 2 − 4ac<br />

angeben. Eine dieser beiden Formeln zu verwenden, wäre numerisch gesehen jedoch problematisch.<br />

If either a or c (or both) are small, then one of the roots will involve the<br />

subtraction of b from a very nearly equal quantity (the discriminant); you will<br />

get that root very inaccurately. [14, p.184]<br />

Die numerisch bessere Art, eine quadratische Gleichung zu lösen, ist<br />

q := − 1 [<br />

b + sgn(b) √ ]<br />

b<br />

2<br />

2 − 4ac<br />

Die beiden Lösungen sind dann<br />

x 1 = q a<br />

und<br />

x 2 = c q


174 KAPITEL 8. KERNEL<br />

Diese Lösung ist auch im Java Development Kit (JDK 1.3.1) in der KlasseQuadCurve2D<br />

im Paket java.awt.geom als Methode solveQuadratic() implementiert. Wir adaptieren<br />

diese Methode für die Verwendung von ɛ, indem wir für den Test auf 0 die Funktion<br />

isZero() verwenden.<br />

final public static boolean isZero(double x) {<br />

return Math.abs(x)


8.3. NUMERIK 175<br />

}<br />

// that b+d gets larger in magnitude<br />

if (b < 0.0) {<br />

d = -d;<br />

}<br />

double q = (b + d) / -2.0;<br />

// We already tested a for being 0 above<br />

res[roots++] = q / a;<br />

res[roots++] = c / q;<br />

}<br />

}<br />

return roots;<br />

Kubische Gleichung<br />

Zur Berechnung der Schnittpunkte zweier Kegelschnitte müssen wir eine Gleichung dritten<br />

Grades lösen (vgl. 6.3.4, p.137). Während die Lösungsformel für quadratische Gleichungen<br />

jedem Gymnasiasten bekannt ist, wissen selbst manche Mathematik Studenten nicht, wie<br />

man eine Gleichung dritten Grades löst.<br />

Da die Cardanische Lösungsformel (vgl. [3, p.131]) für komplexe Zahlen formuliert ist,<br />

wir aber nur an den reellen Lösungen interessiert sind, geben wir hier die Formulierung<br />

von Vieta an (vgl. [14, pp.184]).<br />

Für die kubische Gleichung x 3 +ax 2 +bx+c = 0 mit a, b, c ∈ R berechnet man zunächst<br />

Q := a2 − 3b<br />

9<br />

und<br />

R := 2a3 − 9ab + 27c<br />

54<br />

Wenn R 2 < Q 3 gilt, dann hat die kubische Gleichung drei reelle Lösungen. Wir finden<br />

diese mittels<br />

θ := arccos(R/ √ Q 3 )<br />

= −2 √ ( θ<br />

Q cos −<br />

3)<br />

a 3<br />

= −2 √ ( ) θ + 2π<br />

Q cos − a 3 3<br />

= −2 √ ( ) θ − 2π<br />

Q cos − a 3 3<br />

x 1<br />

x 2<br />

x 3<br />

Bis hierher ist die in den Numerical Recipes [14, pp.184] angeführte Vorgangsweise klar.<br />

Im Weiteren werden dort auch die Lösungen des anderen Falles R 2 >= Q 3 angegeben. Hier<br />

bekommt man eine reelle und zwei konjugiert komplexe Lösungen.<br />

Dazu definiert man zunächst<br />

[<br />

A := −sgn(R) |R| + √ ] 1/3<br />

R 2 − Q 3 und B :=<br />

{<br />

Q/A : A ≠ 0<br />

0 : A = 0


176 KAPITEL 8. KERNEL<br />

in terms of which the three roots are<br />

x 1 = (A + B) − a 3<br />

(the single real root when a, b, c are real) and<br />

[14, p.185]<br />

x 2 = − 1 2 (A + B) − a √<br />

3<br />

3 + ı (A − B)<br />

2<br />

x 3 = − 1 2 (A + B) − a √<br />

3<br />

3 − ı (A − B)<br />

2<br />

Die Bemerkung in Klammern, dass x 1 die einzige reelle Lösung für a, b, c ∈ R sei, ist aber<br />

falsch. Für R 2 = Q 3 ≠ 0 bekommt man nämlich zwei reelle Lösungen und nicht nur eine.<br />

Nicht zuletzt diese Bemerkung dürfte daran Schuld sein, dass die meisten Implementierungen<br />

von Funktionen zur Lösung kubischer Gleichungen nicht richtig funktionieren. Auch<br />

die Java Implementierung (JDK 1.3.1) von cubicSolve() in der Klasse CubicCurve2D im<br />

Paket java.awt.geom ist hier leider keine Ausnahme. Dieser Fall wird einfach vergessen<br />

und man bekommt so beispielsweise für die einfache Gleichung x 3 +x 2 = 0 nur die Lösung<br />

x 1 = −1. Die zweite Lösung x 2 = 0 fällt unter den Tisch.<br />

Stellen wir dies daher richtig: Für R 2 = Q 3 = 0 bekommt man die reelle Dreifachlösung<br />

x 1 = − a 3<br />

Für R 2 = Q 3 ≠ 0 bekommt man zwei reelle Lösungen (x 2 ist eine Doppellösung):<br />

x 1 = −2 √ Q − a 3<br />

und x 2 = √ Q − a 3<br />

Beweis. Wir zeigen die Gültigkeit des Spezialfalles R 2 = Q 3 . Wegen R 2 = Q 3 gilt Q ≥ 0,<br />

sowie √ Q = R 1 3. Wir berechnen nun A und B. A = −R 1 3 = − √ Q.<br />

1. Sei R 2 = Q 3 = 0. Damit ist A = 0 und somit auch B = 0. In diesem Fall erhalten<br />

wir die Dreifachlösung x 1 = − a 3 .<br />

2. Sei R 2 = Q 3 ≠ 0. Wegen A = − √ Q ist B = Q/A = Q/ − √ Q = − √ Q = A. Wir<br />

erhalten somit die beiden reellen Lösungen x 1 = −2 √ Q − a 3 und x 2 = √ Q − a 3 . Die<br />

konjugiert komplexen Lösungen degenerieren hier zu der reellen Doppellösung x 2 .<br />

Mit Hilfe der Diskriminante ∆ := R 2 − Q 3 fassen wir alle Fälle zusammen:<br />


8.3. NUMERIK 177<br />

Diskriminante R und Q reelle Lösungen<br />

∆ < 0 R 2 < Q 3 3 Drei verschiedene reelle Lösungen<br />

∆ > 0 R 2 > Q 3 1 Eine reelle und zwei konjugiert<br />

komplexe Lösungen<br />

∆ = 0 R 2 = Q 3 = 0 1 Eine reelle Dreifachlösung<br />

∆ = 0 R 2 = Q 3 ≠ 0 2 Eine reelle Einfach- und eine reelle<br />

Doppellösung<br />

Damit korrigieren wir die Java Implementierung. Die Methode<br />

int solveCubic(double eqn[], double res[]) löst für die Eingabeeqn = c, b, a, d die<br />

kubische Gleichung dx 3 + ax 2 + bx + c = 0 und schreibt die rellen Lösungen in das Array<br />

res. Zurückgegeben wird die Anzahl der Lösungen oder -1, falls die Gleichung konstant<br />

ist.<br />

public static int solveCubic(double eqn[], double res[]) {<br />

// From Numerical Recipes, 5.6, Quadratic and Cubic Equations<br />

// case (discriminant == 0) added by Markus Hohenwarter<br />

double d = eqn[3];<br />

if (Kernel.isZero(d)) {<br />

// The cubic has degenerated to quadratic (or line or ...).<br />

return solveQuadratic(eqn, res);<br />

}<br />

double a = eqn[2] / d;<br />

double b = eqn[1] / d;<br />

double c = eqn[0] / d;<br />

int roots = 0;<br />

double Q = (a * a - 3.0 * b) / 9.0;<br />

double R = (2.0 * a * a * a - 9.0 * a * b + 27.0 * c) / 54.0;<br />

double R2 = R * R;<br />

double Q3 = Q * Q * Q;<br />

double discriminant = R2 - Q3;<br />

a = a / 3.0;<br />

if (Kernel.isZero(discriminant)) {<br />

if (Kernel.isZero(Q)) {<br />

// one real solution<br />

res[roots++] = -a;<br />

} else {<br />

// two real solutions<br />

Q = Math.sqrt(Q);<br />

res[roots++] = -2.0 * Q - a;


178 KAPITEL 8. KERNEL<br />

}<br />

res[roots++] = Q - a;<br />

}<br />

} else {<br />

if (R2 < Q3) { // => Q > 0.0<br />

// three real solutions<br />

double theta = Math.acos(R / Math.sqrt(Q3));<br />

Q = -2.0 * Math.sqrt(Q);<br />

if (res == eqn) {<br />

// Copy the eqn so that we don’t clobber it with the<br />

// roots. This is needed so that fixRoots can do its<br />

// work with the original equation.<br />

eqn = new double[4];<br />

System.arraycopy(res, 0, eqn, 0, 4);<br />

}<br />

res[roots++] = Q * Math.cos(theta / 3.0) - a;<br />

res[roots++] = Q * Math.cos((theta - Math.PI * 2.0)/ 3.0) - a;<br />

res[roots++] = Q * Math.cos((theta + Math.PI * 2.0)/ 3.0) - a;<br />

fixRoots(res, eqn);<br />

} else {<br />

// one real solution<br />

boolean neg = (R < 0.0);<br />

double S = Math.sqrt(discriminant);<br />

if (neg) {<br />

R = -R;<br />

}<br />

double A = Math.pow(R + S, 1.0 / 3.0);<br />

if (!neg) {<br />

A = -A;<br />

}<br />

double B = (Kernel.isZero(A)) ? 0.0 : (Q / A);<br />

res[roots++] = (A + B) - a;<br />

}<br />

}<br />

return roots;<br />

Im Fall von drei reellen Lösungen wird die Methdode fixroots() aufgerufen. Da die<br />

Winkelfunktionen acos() und cos() relativ große Fehler liefern können, wird hier versucht<br />

mit anschließender Newton-Raphson Iteration (vgl. [14, pp.362]) das Ergebnis zu<br />

verbessern. Die Details sind in der Implementierung des JDK 1.3.1 zu finden.


Kapitel 9<br />

Grafische Ausgabe<br />

Im Kernel (Kapitel 8) wird ein abstraktes mathematisches Modell einer Konstruktion verwaltet.<br />

Dieses Modell stellen wir auf zwei Arten dar: algebraisch als Koordinaten und<br />

Gleichungen, sowie geometrisch als Punkte, Vektoren, Geraden und Kegelschnitte.<br />

9.1 Model-View-Controller<br />

Wir wollen das mathematische Modell einer Konstruktion in einer Algebra- und einer<br />

Geometriesicht anzeigen. Änderungen am Modell sollen sich in beiden Ansichten (Views)<br />

gleichzeitig niederschlagen. Zur Realisierung dieser Situation verwenden wir das sogenannte<br />

Observer Design Pattern (vgl. [13, pp.223]).<br />

Observer<br />

update()<br />

Subject<br />

attach()<br />

detach()<br />

fireUpdate()<br />

Concrete Observer<br />

registriert sich bei<br />

benachrichtigt<br />

Conrete Subject<br />

Abbildung 9.1: Klassendiagramm des Observer Design Patterns<br />

Dabei kann sich ein Observer (bei uns die Ansichten) bei einem Subject (bei uns das<br />

Modell der Konstruktion) registrieren lassen. Alle registrierten Observer werden dann über<br />

179


180 KAPITEL 9. GRAFISCHE AUSGABE<br />

eine Zustandsänderung des Subjects informiert, indem die update() Methode jedes Observers<br />

aufgerufen wird (vgl. Abbildung 9.1).<br />

Wir verwenden eine verfeinerte Form dieses Design Patterns, das sogenannte Model-<br />

View-Controller Konzept. Wie beim Observer Pattern wird hier die mathematische Repräsentierung<br />

im Kernel (Model) von der Darstellung am Bildschirm (View) getrennt. Das<br />

Modell kann aber zusätzlich auch verändert werden (Controller). Dies geschieht bei uns<br />

mit der Maus oder über algebraische Eingaben und Befehle.<br />

Die mathematischen Objekte im Kernel (Model) haben keine Information darüber, wie<br />

sie am Bildschirm dargestellt werden sollen. Dies wird von den Ansichten (Views) erledigt.<br />

Dazu erzeugt jede Ansicht für jedes Objekt im Kernel ein eigenes Objekt, das für die Darstellung<br />

am Bildschirm zuständig ist. Für jeden Punkt im Kernel erstellen die Geometrieund<br />

Algebrasicht ein eigenes Objekt, das diesen Punkt in einem Bildschirmkoordinatensystem<br />

zeichnet bzw. die Koordinaten des Punktes anzeigt.<br />

public interface View {<br />

public void add(GeoElement geo);<br />

public void remove(GeoElement geo);<br />

public void update(List updateList);<br />

}<br />

Nach einer Änderung des Modells werden die Ansichten darüber informiert (add(),<br />

remove(), update()) und müssen ihre Objekte ebenfalls aktualisieren. Die Änderungen<br />

des Modells sind Reaktionen auf Eingaben über die Tastatur oder Maus. Diese Eingaben<br />

werden von den Controllern behandelt und an den Kernel weitergeleitet. Jede Ansicht hat<br />

ihren eigenen Controller. Der Algebra - Controller ist für die algebraische Eingabe (Kapitel<br />

7) über Tastatur zuständig. Der Euclidean - Controller ist für geometrische Eingaben<br />

mit Hilfe der Maus verantwortlich (vgl. Abbildung 9.2).<br />

9.2 Darstellung von Kegelschnitten<br />

Geraden können als Linien und Punkte als kleine ausgefüllte Kreise gezeichnet werden.<br />

Dabei muss lediglich in Bildschirmkoordinaten transformiert werden. Interessanter ist hingegen,<br />

wie wir Kegelschnitte am Computer darstellen können.<br />

Die Programmiersprache Java enthält seit Version 2 (JDK 1.2) standardmäßig das Erweiterungspaket<br />

Java2D. Dieses beinhaltet mehrere zeichenbare Objekttypen, sogenannte<br />

Shapes. Im Paket java.awt.geom ist etwa die Klasse Line2D zu finden, mit der man Linien<br />

darstellen kann. Sehr hilfreich ist auch die Klasse Ellipse2D. Mit ihr können wir Kreise<br />

und Ellipsen in Hauptlage zeichnen. Kombiniert mit der Klasse AffineTransform sind die<br />

Ellipsen auch beliebig dreh- und verschiebbar.<br />

Wie stellen wir aber Parabeln und Hyperbeln dar? Für beide Arten von Kegelschnitten<br />

gibt es keine vorgefertigten Klassen, die wir verwenden könnten. Wir wollen deshalb hier<br />

Möglichkeiten aufzeigen, wie wir Parabeln und Hyperbeln auf den Bildschirm bekommen.


9.2. DARSTELLUNG VON KEGELSCHNITTEN 181<br />

Abbildung 9.2: Model-View-Controller Konzept<br />

9.2.1 Parabel als Bézier-Kurve<br />

Bézier und De Castlejau haben unabhängig voneinander um 1960 eine Methode zur Beschreibung<br />

von Kurven durch sogenannte Kontrollpunkte gefunden. Beide arbeiteten damals<br />

für französische Automobilhersteller, Bézier für Renault und De Castlejau für Citroën.<br />

Ihre Arbeiten entstanden aus der Notwendigkeit, Auto-Karosserien zu beschreiben. Heute<br />

spielen Bézier- und ähnliche Kurven eine wichtige Rolle in der Computergrafik.<br />

Wir wollen hier nicht näher auf die Theorie der Bézier-Kurven eingehen (vgl. dazu etwa<br />

[6, pp.488]). Für uns ist nur wichtig, dass eine Bézier-Kurve mit n + 1 Kontrollpunkten<br />

einem Polynom n-ten Grades entspricht.<br />

Eine Parabel lässt sich daher als Bézier-Kurve mit drei Kontrollpunkten festlegen. Diese<br />

Kurve hat folgende wichtige geometrische Eigenschaft: Seien A, C, B die drei Kontrollpunkte<br />

einer quadratischen Bézier-Kurve. Dann liegen A und B auf der Kurve und die Vektoren<br />

−→<br />

CA und −→ CB sind die Richtungsvektoren der Tangenten in A und B (vgl. Abbildung 9.3).<br />

In Java2D gibt es dafür eine Klasse namens QuadCurve2D. Um damit eine Parabel in<br />

Hauptlage zeichnen zu können, müssen wir geeignete drei Kontrollpunkte angeben. Eine<br />

Parabel in Hauptlage hat die Gleichung y 2 = 2px. Wählen wir nun zwei Punkte auf der<br />

Parabel, etwa A = (x 0 , √ 2px 0 ) und B = (x 0 , − √ 2px 0 ) als Kontrollpunkte. Für den dritten


182 KAPITEL 9. GRAFISCHE AUSGABE<br />

Abbildung 9.3: Quadratische Bézier-Kurve mit Kontrollpunkten<br />

Kontrollpunkt C schneiden wir nun die beiden Tangenten in A und B. Erinneren wir uns<br />

an Satz 4.16, p.95: Die Tangente an einen Kegelschnitt in einem auf ihm liegenden Punkt<br />

ist die Polare dieses Punktes bezüglich des Kegelschnitts. Damit erhalten wir sofort die<br />

beiden Tangenten an die Parabel:<br />

⎛<br />

⎜<br />

⎝<br />

0 0 −p<br />

0 1 0<br />

−p 0 0<br />

⎞<br />

⎟<br />

⎠ ·<br />

⎛<br />

⎜<br />

⎝<br />

x 0<br />

± √ 2px 0<br />

1<br />

⎞<br />

⎛<br />

⎟ ⎜<br />

⎠ = ⎝<br />

Die Tangentengleichungen lauten daher<br />

t A : px − √ 2px 0 y + px 0 = 0<br />

t B : px + √ 2px 0 y + px 0 = 0<br />

⎞<br />

−p<br />

± √ ⎟<br />

2px 0 ⎠<br />

−px 0<br />

Der Schnittpunkt von t A und t B ist der gesuchte Kontrollpunkt C. Nach Subtraktion<br />

der beiden Gleichungen erhalten wir y = 0. Durch Addition erhalten wir px+px 0 = 0 und<br />

daraus x = −x 0 . Der Schnittpunkt C hat also die Koordinaten (−x 0 , 0).<br />

Eine Parabel in Hauptlage können wir somit als Bézier-Kurve mit den drei Kontrollpunkten<br />

A = (x 0 , √ 2px 0 ), C = (−x 0 , 0) und B = (x 0 , √ 2px 0 ) zeichnen (Abbildung 9.4).<br />

Parabeln in allgemeiner Lage erhalten wir wie schon bei den Ellipsen durch Anwendung<br />

von affinen Abbildungen, genau genommen von Bewegungen (vgl. 4.4, p.58), mit Hilfe der<br />

Klasse AffineTransform.<br />

Lassen sich auch Hyperbeln als Bézier-Kurven darstellen? Prinzipiell ja, aber mit einem<br />

wichtigen Unterschied zu Parabeln. Eine quadratische Bézier-Kurve ist nämlich äquivalent<br />

zu einer Parabel. Hyperbeln lassen sich aber nur näherungsweise durch Bézier-Kurven<br />

darstellen. Man sollte also Bézier-Kurven höheren Grades verwenden. Java2D bietet hier<br />

noch die Klasse CubicCurve2D für eine Bézier-Kurve mit vier Kontrollpunkten. Die Wahl<br />

der Kontrollpunkte wird hier schon schwieriger als bei der Parabel, liegen doch zwei der<br />

vier Punkte gar nicht auf der Hyperbel.<br />

Doch egal wieviel Mühe wir in die Wahl der Kontrollpunkte stecken, die entstehende<br />

Kurve wird immer nur eine Approximation unserer gewünschten Hyperbel sein. Ein


9.2. DARSTELLUNG VON KEGELSCHNITTEN 183<br />

Abbildung 9.4: Kontrollpunkte einer Parabel in Hauptlage<br />

korrekt berechneter Schnittpunkt mit einer Hyperbel könnte somit im schlimmsten Fall<br />

am Bildschirm neben der gezeichneten Hyperbel liegen. Aus diesem Grund verwenden wir<br />

einen anderen Ansatz zur Darstellung dieser Kegelschnittart.<br />

9.2.2 Rationale Parameterdarstellungen von Kegelschnitten<br />

Eine Kurve in Parameterdarstellung lässt sich sehr einfach am Bildschirm zeichnen. Wir<br />

berechnen dazu Punkte auf der Kurve und verbinden diese durch Linien. Der so entstehende<br />

Streckenzug (Polygon) ist eine Näherung für die Kurve (Abbildung 9.5). Je mehr<br />

Punkte wir berechnen, desto genauer wird unsere Näherung. Auf diese Art wollen wir nun<br />

Hyperbeln darstellen.<br />

Abbildung 9.5: Approximation eines Hyperbelhalbastes durch ein Polygon mit 6 Punkten


184 KAPITEL 9. GRAFISCHE AUSGABE<br />

Dieser Ansatz hat zwei Vorteile gegenüber Bézier-Kurven. Einerseits kann die Genauigkeit<br />

der Näherung leicht durch die Zahl der berechneten Punkte gesteuert werden. Andererseits<br />

liegen die berechneten Punkte mit Sicherheit auf der Hyperbel. Bei Bézier-Kurven<br />

liegen ja nur der erste und letzte Kontrollpunkt auf dem Kegelschnitt.<br />

Wir benötigen also die Parameterdarstellung einer Hyperbel. Dabei gibt es viele Möglichkeiten,<br />

wie etwa<br />

(<br />

a sec(t)<br />

b tan(t)<br />

)<br />

oder<br />

(<br />

a cosh(t)<br />

b sinh(t)<br />

)<br />

.<br />

Diese beiden Darstellungen haben einen Nachteil: sie sind äußerst ineffizient. Für jeden<br />

Punkt müssen wir zwei Winkelfunktionen auswerten. Viel angenehmer wäre es, wenn<br />

wir die Koordinaten der Punkte allein durch Multiplikationen und Divisionen, also durch<br />

rationale Funktionen berechnen könnten.<br />

Anders ausgedrückt suchen wir damit nach rationalen Punkten auf einer Hyperbel<br />

(vgl. [20, p.24]). Gehen wir dazu von der Gleichung einer Hyperbel in Hauptlage aus.<br />

hyp : x2<br />

a 2 − y2<br />

b 2 = 1,<br />

a, b ∈ Q<br />

Der rationale Punkt P = (−a, 0) liegt auf der Hyperbel. Legen wir nun eine Gerade g<br />

mit unbestimmtem Richtungsvektor (u, v) durch P. Mit dem Parameter α bekommen wir<br />

die Punkte von g als<br />

x = −a + α · u<br />

y = α · v<br />

Abbildung 9.6: Schnitt der Geraden g mit der Hyperbel hyp


9.2. DARSTELLUNG VON KEGELSCHNITTEN 185<br />

Diese Gerade schneiden wir jetzt mit der Hyperbel (Abbildung 9.6), indem wir für x<br />

und y einsetzen.<br />

g ∩ hyp :<br />

Daraus folgt<br />

(−a + αu)2<br />

a 2<br />

− (αv)2<br />

b 2 = 1<br />

α(−2ab 2 u + α(b 2 u 2 − a 2 v 2 )) = 0<br />

Der Wert α = 0 liefert den gegebenen Punkt P(−a, 0). Der Fall b 2 u 2 −a 2 v 2 = 0 entspricht<br />

den beiden Geraden durch P, die parallel zu den Asymptoten der Hyperbel sind und keinen<br />

weiteren Schnittpunkt haben. Es bleibt der Fall b 2 u 2 − a 2 v 2 ≠ 0. Dies ergibt<br />

α =<br />

und weiters<br />

2ab 2 u<br />

b 2 u 2 − a 2 v 2<br />

x = a b2 u 2 + a 2 v 2<br />

b 2 u 2 − a 2 v 2<br />

2abuv<br />

y = b<br />

b 2 u 2 − a 2 v 2<br />

Der Fall u = 0 entspricht der Tangente im Punkt P(−a, 0). Für u ≠ 0 erhält man den<br />

zweiten Schnittpunkt der Geraden mit der Hyperbel. Daher können wir nun t := av setzen bu<br />

und erhalten mit<br />

x = a 1 + t2<br />

1 − t 2<br />

2t<br />

y = b<br />

1 − t 2<br />

eine Parameterdarstellung für rationale Punkte auf der Hyperbel. Für t ∈ Q beschreibt<br />

diese Darstellung sogar alle rationalen Punkte (außer P) der Hyperbel.<br />

Diese Parameterdarstellung hat zusätzlich eine schöne geometrische Eigenschaft: Wenn<br />

wir den Parameter t mit konstanter Schrittweite in einem Intervall [0, t max ] verändern, so<br />

liegen die Punkte im Bereich der größten Krümmung am dichtesten (vgl. Abbildung 9.7).<br />

Es genügt natürlich, nur Punkte für einen Halbast der Hyperbel zu berechnen, die übrigen<br />

ergeben sich durch Spiegelung an x- und y-Achse.<br />

Auch für die anderen Kegelschnitt kann man in ähnlicher Weise Parameterdarstellungen<br />

angeben. Die Darstellungen der rationalen Punkte auf den Kegelschnitten Ellipse, Hyperbel


186 KAPITEL 9. GRAFISCHE AUSGABE<br />

Abbildung 9.7: Approximation eines Hyperbelhalbastes durch ein Polygon mit 20 Punkten<br />

und Parabel sind im Folgenden angeführt.<br />

Kegelschnitt Gleichung<br />

(<br />

Parameterdarstellung<br />

)<br />

x 2<br />

Ellipse<br />

a + y2<br />

2 b = 1 1 a(1 − t 2 )<br />

, −∞ < t < ∞<br />

2 1 + t 2 2bt<br />

Hyperbel<br />

x 2<br />

a 2 − y2<br />

b 2 = 1 1<br />

1 − t 2 (<br />

a(1 + t 2 )<br />

2bt<br />

)<br />

, −∞ < t < ∞<br />

Parabel<br />

y 2 = 2px<br />

(<br />

p<br />

2<br />

t 2<br />

2t<br />

)<br />

, −∞ < t < ∞


Teil IV<br />

Didaktik<br />

187


Kapitel 10<br />

Anwendung im Unterricht<br />

Nachdem wir uns bisher ausführlich mit den mathematischen und informatischen Grundlagen<br />

unserers Programmes auseinandergesetzt haben, wollen wir in diesem Kapitel einige<br />

ausgewählte Anwendungsbeispiele für den Mathematikunterricht behandeln.<br />

Unser Programm ist so konzipiert, dass Geometrie und Algebra einander als gleichwertige<br />

Partner gegenüberstehen (vgl. [8]). Aus diesem Grund wollen wir ihm auch den<br />

Namen <strong>GeoGebra</strong> für Geometrie und Algebra geben. Im Folgenden werden wir Beispiele<br />

vorstellen, die sowohl als geometrische wie auch algebraische Probleme behandelt werden<br />

könnten. Mit <strong>GeoGebra</strong> lassen sich beide Sichtweisen verbinden.<br />

Eine kurze Einführung in die Bedienung und Syntax der Befehle von <strong>GeoGebra</strong> ist im<br />

Anhang (pp.205) zu finden.<br />

10.1 Geraden und lineare Gleichungen<br />

In der 4. Klasse der AHS Unterstufe werden lineare Gleichungen mit zwei Unbekannten<br />

behandelt.<br />

10.1.1 Lineare Funktionen<br />

Dazu führt man zunächst lineare Funktionen in der expliziten Form y = kx+d ein (vgl. [15,<br />

pp.100]). Solche Funktionen werden sodann auch grafisch als Geraden dargestellt und die<br />

Parameter k und d geometrisch interpretiert. k ist die Steigung der Geraden und d der<br />

Abschnitt auf der y-Achse.<br />

Die grafische Darstellung linearer Funktionen erfolgt auf zwei Arten: Entweder durch<br />

Vorgabe zweier Punkte (vgl. 10.1.3) oder durch Einzeichnen des Steigungsdreiecks und des<br />

Abschnitts d auf der y-Achse.<br />

Im Zusammenhang mit linearen Gleichungen in zwei Variablen wird auch die implizite<br />

Geradengleichung ax + by = c; a, b, c ∈ R eingeführt.<br />

Beispiel. [15, 464a]:<br />

1. Forme die gegebene Gleichung so um, dass du die Form y = kx + d erhältst!<br />

189


190 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

2. Wie groß sind die Steigung k und der Abschnitt d auf der y-Achse der zugehörigen<br />

Geraden?<br />

3. Zeichne die Gerade in einem geeignet gewählten Koordinatensystem!<br />

2x + y = 5<br />

In <strong>GeoGebra</strong> können wir die Gleichung 2x + y = 5 einfach in der Eingabezeile eintippen.<br />

Nach Drücken der Eingabetaste erscheinen die Gleichung im Algebrafenster und ihre<br />

entsprechende Gerade im Geometriefenster. Um die explizite Schreibweise y = kx + d zu<br />

erhalten, klicken wir mit der rechten Maustaste auf die Gleichung und wählen im erscheinenden<br />

Kontextmenü den Eintrag Gleichung y = k x + d (siehe Abbildung 10.1).<br />

Abbildung 10.1: Gleichung 2x + y = 5<br />

Danach wird die Gleichung als y = −2x + 5 angezeigt, woraus k = −2 und d = 5<br />

abgelesen werden können.<br />

10.1.2 Lineare Gleichungssysteme<br />

Ein Gleichungssystem mit zwei linearen Gleichungen in zwei Variablen kann zunächst durch<br />

Interpretation der beiden Gleichungen als Geraden grafisch gelöst werden.


10.1. GERADEN UND LINEARE GLEICHUNGEN 191<br />

Beispiel. [15, 468b]: Ermittle grafisch die Lösung des gegebenen Gleichungssystems! Führe<br />

die Probe jeweils durch Einsetzen in beide Gleichungen aus!<br />

6x + 7y = 45<br />

8x − 3y = 23<br />

In <strong>GeoGebra</strong> geben wir beide Gleichungen nacheinander in die Eingabezeile ein. Aus<br />

dem Geometriefenster lesen wir die Koordinaten (4, 3) des vermuteten Schnittpunktes ab<br />

(Abbildung 10.2).<br />

Abbildung 10.2: Gleichungssystem in zwei Variablen<br />

Auch bei der Probe unterstützt uns <strong>GeoGebra</strong> . Dazu legen wir zunächst den Punkt A<br />

= (4,3) an und fragen mittels Beziehung[A, g] und Beziehung[A, h], ob der Punkt A<br />

tatsächlich auf den Geraden g und h liegt (Abbildung 10.3).<br />

Im Unterricht werden natürlich auch rechnerische Lösungsverfahren vorgestellt. Diesen<br />

entspricht in <strong>GeoGebra</strong> der Befehl Schneide[g, h] bzw. der Modus Schneide zwei Objekte<br />

(vgl. V, p.205).<br />

10.1.3 Gerade durch zwei Punkte<br />

Wir haben bereits erwähnt, dass eine lineare Funktion durch Berechnung zweier Punkte<br />

ihres Graphen gezeichnet werden kann. Interessant ist auch die Umkehrung:


192 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

Abbildung 10.3: Probe eines Gleichungssystems in zwei Variablen<br />

Stelle jeweils die Gleichung einer Geraden g auf, deren Graph durch die gegebenen<br />

Punkte verläuft! [15, p.118]<br />

In [15, p.118] ist hierzu ein Musterbeispiel vorgerechnet, bei dem wie folgt argumentiert<br />

wird:<br />

Überlege: Beide Punkte P und Q müssen die allgemeine Form der Gleichung<br />

der Geraden erfüllen: y = kx + d. Es entsteht ein Gleichungssystem mit den<br />

Variablen k und d.<br />

Betrachten wir die Situation mit <strong>GeoGebra</strong> für die PunkteP = (-2,0) undQ = (3,2).<br />

Legen wir nun die Gerade durch beide Punkte (Modus Gerade durch zwei Punkte oder<br />

Befehl Gerade[Q, P]) und stellen ihre Gleichung in expliziter Form dar (Kontextmenü mit<br />

rechter Maustaste). Wir erhalten so die explizite Geradengleichung y = 0.4x + 0.8 mit der<br />

Steigung k = 0.4 und dem Abschnitt d = 0.8 auf der y-Achse (Abbildung 10.4).<br />

Als Nächstes untersuchen wir, was passiert, wenn der Punkt Q verschoben wird. Dazu<br />

wechseln wir in den Modus Bewegen und ziehen Q mit der Maus. Dabei lässt sich die<br />

Veränderung der Koeffizienten k und d beobachten. Verschieben wir nun Q an die Stelle<br />

(−2, 5). Je näher wir dieser Stelle kommen, umso größer wird die Steigung k. Sind wir<br />

jedoch genau dort angekommen, so verschwindet k plötzlich und die Gerade g erhält die<br />

Gleichung x = −2 (Abbildung 10.5).


10.1. GERADEN UND LINEARE GLEICHUNGEN 193<br />

Abbildung 10.4: Gerade durch zwei Punkte<br />

Abbildung 10.5: Vertikale Gerade durch zwei Punkte


194 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

Dieses Ergebnis mag einen Schüler verwundern und ihn motivieren, der Sache auf den<br />

Grund zu gehen. Warum hat die Geradengleichung plötzlich nicht mehr die Form y =<br />

kx + d? Hat <strong>GeoGebra</strong> vielleicht einen Fehler gemacht? Rechnen wir unser Beispiel dazu<br />

durch Einsetzen der Punkte in den allgemeinen Ansatz y = kx + d nach.<br />

P ∈ g : 0 = −2k + d<br />

Q ∈ g : 5 = −2k + d<br />

Durch Subtraktion dieser beiden Gleichungen kommen wir zu der falschen Aussage<br />

−5 = 0 anstelle der erwarteten Lösung für k. Diese Methode funktioniert hier also nicht.<br />

Offenbar ist nicht jede Gerade in der Form y = kx + d anschreibbar.<br />

Eine Lösung dieses Problems könnte über die Parameterdarstellung der Geraden führen,<br />

die jedoch erst in der Oberstufe behandelt wird. Die implizite Form ax + by = c einer Geradengleichung<br />

ist jedoch bereits bekannt. Wir können nun nochmals den Bewegen Modus<br />

nützen und den Punkt Q verschieben, während wir uns die implizite Darstellung der Geraden<br />

g anzeigen lassen. Hierbei wird ersichtlich, dass der Koeffizient b gegen 0 geht, je steiler<br />

die Gerade wird. Im Fall einer vertikalen Geraden verschwindet schließlich der y-Anteil der<br />

Gleichung ganz. Um aber in die explizite Gleichung umformen zu können, müssten wir<br />

durch b dividieren, was für b = 0 nicht möglich ist.<br />

Setzen wir jetzt unsere beiden Punkte nicht in die explizite, sondern in die implizite<br />

Darstellung ax + by = c ein:<br />

P ∈ g : −2a = c<br />

Q ∈ g : −2a + 5b = c<br />

Die Subtraktion beider Gleichungen liefert b = 0. Die zweite Gleichung wird damit wie<br />

die erste zu −2a = c. Setzen wir etwa a = 1, so erhalten wir die Geradengleichung x = −2.<br />

Für a = 2 bekommen wir 2x = −4 und so weiter. Hieraus kann sich eine spannende<br />

Diskussion darüber ergeben, warum die Lösungsmengen all dieser Gleichungen dieselbe<br />

Gerade beschreiben.<br />

Durch Experimentieren mit dem Bewegen Modus von <strong>GeoGebra</strong> sind wir auf ein Problem<br />

gestoßen, das den Schüler zu weiterem Nachdenken anregen kann. Die Möglichkeit,<br />

selber Probleme zu entdeckten, weckt die intrinsische Motivation zur Suche nach einer<br />

Lösung. Der Lehrer steht dabei lediglich als Experte für Fragen zur Verfügung oder führt<br />

die Schüler im Sinne eines sokratischen Gesprächs auf die richtige Fährte, ohne gleich eine<br />

Lösung zu verraten (vgl. [22], [23]).<br />

10.2 Summensatz<br />

In <strong>GeoGebra</strong> sind auch trigonometrische Funktionen und das innere Produkt von Vektoren<br />

verfügbar. Dies wollen wir uns jetzt für die Veranschaulichung der Herleitung eines<br />

Summensatzes zu Nutze machen, welcher in der 6. Klasse AHS behandelt wird.


10.2. SUMMENSATZ 195<br />

Beispiel. [21, 1244]: Wir wollen eine Formel für cos(α − β) herleiten. Wir wählen im<br />

Einheitskreis zwei beliebige Winkel und betrachten die zugehörigen Einheitsvektoren:<br />

( ) ( )<br />

−→ cosα cosβ<br />

e α = w =<br />

sin α sin β<br />

Nun bilden wir das skalare Produkt dieser beiden Vektoren:<br />

−→ e α · −→ e β = cosαcosβ + sin α sin β<br />

−→ e α · −→ e β = | −→ e α | · | −→ e β | · cos(α − β) =<br />

= 1 · 1 · cos(α − β) =<br />

= cos(α − β)<br />

Damit ist eine Formel hergeleitet. Sie ist ein Teil des ersten Summensatzes:<br />

cos(α − β) = cosα · cos β + sin α · sin β<br />

Diese Vorgangsweise wollen wir jetzt visualisieren. Dazu legen wir zunächst zwei beliebige<br />

Winkel an, etwa alpha = 70 ◦ und beta = 20 ◦ . Als Nächstes werden die beiden<br />

Einheitsvektoren angegeben. Dies kann entweder in cartesischen oder in Polarkoordinaten<br />

erfolgen: ea = (cos(alpha), sin(alpha)) und eb = (cos(beta), sin(beta)) oder ea<br />

= (1; alpha) und eb = (1; beta).<br />

Nun berechnen wir das innere Produkt dieser beiden Vektoren mittels ip = ea * eb,<br />

welches der rechten Seite des Summensatzes entspricht. Damit vergleichen wir die linke<br />

Seite der Äquivalenz, z = cos(alpha - beta) (Abbildung 10.6).<br />

Die Winkel α und β können wir auf zwei Arten verändern, um zu sehen, ob z und ip<br />

auch für andere Lagen der Einheitsvektoren denselben Wert annehmen: Einerseits durch<br />

Überschreiben des aktuellen Wertes durch Eingabe von beispielsweise alpha = 120 ◦ . Andererseits<br />

durch Markieren des Winkels im Algebrafenster und Betätigen der + bzw. - Taste.<br />

Im letzteren Fall können wir durch Gedrückthalten der Taste eine Animation erzeugen.<br />

Zum Vergleich der beiden Zahlen ist es auch möglich, <strong>GeoGebra</strong> zu befragen, indem<br />

man den Befehl Beziehung[ip, z] verwendet (Abbildung 10.7).<br />

Es ist auch möglich, die Zahlen −→ e α · −→ e β und cos(α − β) selbst geometrisch darzustellen.<br />

Erstellen wir dazu zusätzlich die Punkte A = (1; alpha), B = (1; beta) und den<br />

Ursprung O = (0,0). Nun legen wir mittels g = Gerade[B, O] eine Gerade durch B und<br />

O. Dazu erstellen wir die Senkrechte durch A mit h = Senkrechte[A, g]. Die Eingabe<br />

A0 = Schneide[g,h] liefert uns den Schnittpunkt der beiden Geraden. Zu guter Letzt berechnen<br />

wir die Distanz z 0 zwischen dem Nullpunkt und A 0 durch z0 = Abstand[O, A0].<br />

Das Ergebnis dieser Konstruktion ist in Abbildung 10.8 zu sehen. Die Geraden und den<br />

Schnittpunkt kann man natürlich auch mit der Maus erzeugen (vgl. präformales Beweisen<br />

in [7]).<br />

Der Abstand z 0 ist gleich groß wie die Zahlen z und ip - warum? Betrachten wir das<br />

rechtwinkelige Dreieck △ A,O,A0 . Der Winkel ∡(A, O, A 0 ) entspricht α − β. Der Cosinus


196 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

Abbildung 10.6: Summensatz cos(α − β) = cos α cosβ + sin α sin β<br />

Abbildung 10.7: Vergleich des inneren Produkts mit cos(α − β)


10.2. SUMMENSATZ 197<br />

Abbildung 10.8: Geometrische Darstellung der Äquivalenz<br />

Abbildung 10.9: z 0 = −z = −ip für 90 ◦ < α − β < 270 ◦


198 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

dieses Winkels ist gleich dem Verhältnis von Ankathete und Hypotenuse: z = cos(α −β) =<br />

z 0 /| −→ e α | = z 0 /1 = z 0 .<br />

Auch das innere Produkt −→ e α · −→ e β lässt sich geometrisch interpretieren. Es entspricht<br />

der Länge der Normalprojektion von −→ e α auf −→ e β (vgl. Abbildung 3.4, p.18). Genau diese<br />

Projektion haben wir gerade mit Hilfe der Senkrechten h konstruiert.<br />

Genau genommen gilt z 0 = |z| = |ip|. Für 90 ◦ < α−β < 270 ◦ ist nämlich z = ip kleiner<br />

als Null, was man bei Veränderung der Winkel in der Konstruktion auch sofort beobachten<br />

kann (Abbildung 10.9).<br />

10.3 Brennstrecken einer Hyperbel<br />

Betrachten wir nun zwei Beispiele zu den in der 7. Klasse AHS behandelten Kegelschnitten.<br />

Wir erzeugen zunächst die Hyperbel hyp : 9x 2 −16y 2 = 144 durch Eingabe ihrer Gleichung.<br />

10.3.1 Winkelsymmetrale der Brennstrecken<br />

Nun wollen wir ihre Brennstrecken bzw. Leitstrecken konstruieren. Darunter versteht man<br />

die Verbindungslinien eines Punktes der Hyperbel mit beiden Brennpunkten. Die Brennpunkte<br />

unserer Hyperbel erhalten wir mit dem Befehl F = Brennpunkt[hyp]. Um einen<br />

Punkt auf der Hyperbel zu erhalten verwenden wir eine Hilfsgerade g : x = -7, die wir<br />

mit der Hyperbel schneiden: Schneide[g, hyp]. Vom Schnittpunkt B aus tragen wir nun<br />

die beiden Vektoren u und v zu den Brennpunkten ein, welche die Brennstrecken veranschaulichen<br />

sollen (Abbildung 10.10).<br />

Jetzt kommen wir zum interessanten Teil dieses Beispiels: Wir erzeugen die Winkelsymmetrale<br />

des von den beiden Vektoren eingeschlossenen Winkels:w = Winkelsymmetrale[F1,<br />

B, F2]. Diese schmiegt sich an die Hyperbel und sieht wie eine Tangente aus. Diese Vermutung<br />

untersuchen wir näher, indem wir nach der Lagebeziehung der Geraden w zur<br />

Hyperbel hyp fragen: Beziehung[w, hyp]. <strong>GeoGebra</strong> liefert uns als Antwort, dass die<br />

Winkelsymmetrale tatsächlich eine Tangente der Hyperbel ist (Abbildung 10.11).<br />

Gilt dies immer oder ist es nur Zufall, dass hier die Winkelsymmetrale zur Tangente<br />

wurde? Um diese Frage zu beantworten, verändern wir einfach die Lage des Punktes B,<br />

indem wir die Gerade g mit der Maus verschieben. An irgendeiner neuen Position können<br />

wir wieder die Lagebeziehung von Winkelsymmetrale und Hyperbel untersuchen. Nach<br />

einigen Versuchen erhärtet sich die Vermutung immer mehr, dass die Winkelsymmetrale<br />

der Brennstrecken stets Tangente an die Hyperbel sein dürfte (vgl. präformales Beweisen<br />

in [7]).<br />

Nach diesem Experiment kann man nun zusammen mit den Schülern versuchen, einen<br />

mathematischen Satz zu formulieren und diesen für Hyperbeln in Hauptlage zu beweisen.


10.3. BRENNSTRECKEN EINER HYPERBEL 199<br />

Abbildung 10.10: Brennstrecken einer Hyperbel<br />

Abbildung 10.11: Winkelsymmetrale der Brennstrecken ist Tangente an Hyperbel


200 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

10.3.2 Brennstrecken im rechten Winkel<br />

Eine weitere Frage, die sich beim Experimentieren mit dem obigen Beispiel ergeben könnte,<br />

ist folgende:<br />

[16, 662]: Bestimme die Koordinaten jener Punkte einer Hyperbel, bei denen<br />

die Leitstrecken einen rechte Winkel bilden!<br />

Zunächst könnte ein Schüler versuchen, die Gerade g so zu legen, dass die Vektoren<br />

u und v im rechten Winkel stehen. Dabei kann er sich den Winkel mittels alpha =<br />

Winkel[u, v] anzeigen lassen. Wie findet man aber den richtigen Punkt auf der Hyperbel?<br />

Da der Thales-Kreis bereits bekannt ist, können Schüler mit ein wenig Hilfe alleine die<br />

Lösung finden.<br />

Der Satz des Thales besagt, dass jedes Dreieck, dessen Grundseite der Durchmesser<br />

eines Kreises ist und dessen Spitze auf diesem Kreis liegt, rechtwinkelig<br />

ist. [2, p.431]<br />

Beginnen wir für unsere Konstruktion nochmals mit der Hyperbel hyp und ihren Brennpunkten<br />

F 1 , F 2 . Diesmal verwenden wir keine Gerade, sondern einen Kreis als Hilfsmittel.<br />

Dazu bestimmen wir zunächst mit M = Mittelpunkt[F1, F2] den Mittelpunkt unseres<br />

Kreises. Den Kreis selbst konstruieren wir mittels k = Kreis[M, F1] und schneiden ihn<br />

mit der Hyperbel. Zu einem der Schnittpunkte, sagen wir C, tragen wir wieder die Vektoren<br />

u und v als Brennstrecken ein. Nach dem Satz von Thales müssen u und v im rechten<br />

Winkel zueinander stehen. Dies prüfen wir mittels alpha = Winkel[u,v] nach.<br />

Um zu sehen, dass diese Konstruktionsmethode auch für andere Hyperbeln funktioniert,<br />

können wir die Koeffizienten der Hyperbelgleichung verändern. In Abbildung 10.12 ist<br />

etwa die Hyperbel 7x 2 − 12y 2 = 190 zu sehen. Zusätzlich haben wir hier die anderen<br />

Schnittpunkte ausgeblendet (Kontextmenü mittels rechter Maustaste).<br />

10.4 Hyperbelgleichung<br />

[16, 656]: Gegeben ist die Gleichung Ax 2 + By 2 = C mit A, B, C ∈ R. Gib<br />

Bedingungen für A, B und C an, sodass die Gleichung eine Hyperbel in a)<br />

erster, b) zweiter Hauptlage beschreibt!<br />

Diese Aufgabe ist ein sehr gutes Beispiel für die Experimentiermöglichkeiten mit Geo-<br />

Gebra . Ein Schüler, der die Hyperbelgleichungen in Hauptlage nicht kennt, wird diesem<br />

Beispiel zunächst ziemlich hoffnungslos gegenüber stehen. Mit Hilfe von <strong>GeoGebra</strong> geben<br />

wir ihm nun die Chance, durch Ausprobieren ein Gefühl für die Koeffizienten zu bekommen.<br />

Dabei braucht er nur zu wissen, wie eine Hyperbel aussehen soll, um zu entscheiden,<br />

welche Koeffizienten das gewünschte Resultat liefern. Aufgrund von Experimenten kann er


10.4. HYPERBELGLEICHUNG 201<br />

Abbildung 10.12: Brennstrecken mit rechtem Winkel<br />

zunächst Vermutungen anstellen und diese blitzschnell grafisch überprüfen. Dadurch ist es<br />

ihm leichter möglich, zu einer allgemeinen Aussage zu kommen.<br />

Wie könnte so ein Experiment in <strong>GeoGebra</strong> aussehen? Geben wir zunächst irgendwelche<br />

Werte für die Variabeln A, B und C an. Seien etwaA = 1,B = 1 undC = 1. Danach geben<br />

wir die angeführte Gleichung Ax 2 + By 2 = C ein. Es erscheint ein Kreis am Bildschirm.<br />

Nun verändert der Schüler durch Eingabe von beispielsweise B = 2 einen der Koeffizienten.<br />

Solange man nur positive Zahlen für A, B und C einsetzt, erhält man Ellipsen<br />

und Kreise. Erst wenn einer der Koeffizienten kleiner als Null gewählt wird, erscheint eine<br />

Hyperbel im Geometriefenster. Beim Bewegen der Maus über die Kurve wird auch ihr<br />

Typ angzeigt, sodass der Schüler überprüfen kann, ob es sich tatsächlich um eine Hyperbel<br />

handelt (vgl. Abbildung 10.13).<br />

Durch Markieren eines Koeffizienten im Algebrafenster und Gedrückthalten der + oder<br />

- Taste können wir einen Koeffizienten schnell verändern und damit Animationen erzeugen<br />

(vgl. B.1.5, p.210).<br />

In ähnlicher Art und Weise können natürlich auch Koeffizienten anderer Gleichungen<br />

untersucht werden:<br />

• Explizite Geradengleichung y = kx + d<br />

• Implizite Geradengleichung ax + by = c<br />

• Kreisgleichung x 2 + y 2 = r 2 bzw. (x − m) 2 + (y − n) 2 = r 2


202 KAPITEL 10. ANWENDUNG IM UNTERRICHT<br />

Abbildung 10.13: Gleichung Ax 2 + By 2 = C<br />

• Ellipsengleichung b 2 x 2 + a 2 y 2 = a 2 b 2 bzw. x2<br />

a 2 + y2<br />

b 2 = 1<br />

• Parabelgleichung y 2 = 2px bzw. x 2 = 2py


Teil V<br />

<strong>GeoGebra</strong> Hilfe<br />

203


Anhang A<br />

Geometrische Eingabe<br />

Hier wird erklärt, wie in <strong>GeoGebra</strong> mit der Maus Eingaben gemacht werden.<br />

A.1 Allgemeines<br />

Im Geometriefenster (rechts) werden Punkte, Vektoren, Geraden und Kegelschnitte grafisch<br />

dargestellt. Beim Bewegen der Maus über ein Objekt wird eine Beschreibung angezeigt.<br />

Damit <strong>GeoGebra</strong> weiß, wie es auf Eingaben mit der Maus reagieren soll, gibt es verschiedene<br />

Modi (neuer Punkt, schneiden, Kreis durch drei Punkte, ...), die unter A.2 im<br />

Einzelnen erklärt werden.<br />

A.1.1<br />

Kontextmenü<br />

Nach Klicken mit der rechten Maustaste auf ein Objekt erscheint ein Kontextmenü, in<br />

dem die Darstellungsart (Polar-, cartesische Koordinaten; implizite, explizite Gleichung,<br />

...) gewählt werden kann.<br />

A.1.2<br />

Anzeigen und Ausblenden<br />

Geometrische Objekte können wahlweise angezeigt (gezeichnet) werden oder nicht. Dies<br />

kann über das Kontextmenü (B.1.1) verändert werden. Das farbige Symbol links neben<br />

jedem Objekt im Algebrafenster zeigt den aktuellen Zustand an: grün steht für anzeigen<br />

und rot für ausblenden.<br />

Um ein ausgeblendetes Objekt wieder anzuzeigen, verwendet man das Kontextmenü des<br />

Algebrafensters. Vektoren sind beispielsweise standardmäßig ausgeblendet und können so<br />

angezeigt werden.<br />

205


206 ANHANG A. GEOMETRISCHE EINGABE<br />

A.2 Modi<br />

Die im Folgenden beschriebenen Modi können über die Symbolleiste oder unter dem Menüpunkt<br />

Geometrie aktiviert werden. Ein Objekt markieren bedeutet im Folgenden mit der<br />

Maus anklicken. Das Geometriefenster nennen wir bisweilen auch Zeichenblatt.<br />

A.2.1<br />

Allgemeine Modi<br />

Bewegen<br />

Durch Klicken und Ziehen werden freie Objekte verschoben.<br />

Beziehung<br />

Nach Markieren zweier Objekte a und b gibt ein Informationsfenster Auskunft über die<br />

Beziehung von a und b (B.3.1).<br />

Verschiebe Zeichenblatt<br />

Klicken auf eine beliebige Stelle des Zeichenblattes und anschließendes Ziehen verändert<br />

die Lage des Koordinatenursprungs.<br />

A.2.2<br />

Punkt<br />

Neuer Punkt<br />

Klicken auf das Zeichenblatt erzeugt einen neuen Punkt. Die Koordinaten des Punktes<br />

werden erst beim Loslassen der Maustaste festgelegt.<br />

Schneide zwei Objekte<br />

Die Schnittpunkte zweier Objekte können auf zwei Arten erzeugt werden.<br />

1. Durch Markieren der beiden Objekte<br />

2. Durch Klicken auf einen Schnittpunkt der beiden Objekte<br />

Dabei werden immer alle Schnittpunkte erzeugt.<br />

A.2.3<br />

Vektor<br />

Vektor zwischen zwei Punkten<br />

Markieren des Anfangs- und Endpunktes erzeugt den Verbindungsvektor.


A.2. MODI 207<br />

A.2.4<br />

Gerade<br />

Gerade durch zwei Punkte<br />

Markieren zweier Punkte A und B erzeugt die Gerade durch A und B. Diese Gerade hat<br />

den Richtungsvektor −→ AB = (B − A).<br />

Parallele Gerade<br />

Markieren einer Geraden g und eines Punktes A erzeugt eine zu g parallel Gerade durch<br />

den Punkt A. Die neue Gerade hat gleiche Richtung wie g.<br />

Senkrechte Gerade<br />

Markieren einer Geraden g und eines Punktes A erzeugt eine zu g senkrechte Gerade durch<br />

den Punkt A. Die Richtung der neuen Geraden entspricht dem Normalvektor (B.3.5) von<br />

g.<br />

Streckensymmetrale<br />

Markieren zweier Punkte A und B erzeugt die Streckensymmetrale der Strecke AB. Die<br />

Richtung der neuen Geraden entspricht dem Normalvektor (B.3.5) des Vektors −→ AB =<br />

(B − A).<br />

Winkelsymmetrale<br />

Winkelsymmetralen können auf zwei Arten erzeugt werden:<br />

1. Durch Markieren von drei Punkten A, B, C wird die Winkelsymmetrale des eingeschlossenen<br />

Winkels erzeugt. B ist hierbei der Scheitelpunkt.<br />

2. Durch Markieren zweier Geraden werden beide Winkelsymmetralen dieser Geraden<br />

erzeugt.<br />

Die Richtungsvektoren aller Winkelsymmetralen haben Länge 1.<br />

Tangenten an Kegelschnitt<br />

Die Tangenten eines Kegelschnitts können auf zwei Arten erzeugt werden.<br />

1. Durch Markieren eines Punktes A und eines Kegelschnitts c. Hier werden alle Tangenten<br />

durch A an c erzeugt.<br />

2. Durch Markieren einer Geraden g und eines Kegelschnitts c. Hier werden alle Tangenten<br />

an c, die parallel zu g sind, erzeugt.


208 ANHANG A. GEOMETRISCHE EINGABE<br />

A.2.5<br />

Kegelschnitt<br />

Kreis mit Mittelpunkt durch Punkt<br />

Durch Markieren eines Punktes M und eines Punktes P wird ein Kreis mit Mittelpunkt M<br />

erzeugt, auf dem der Punkt P liegt. Dieser Kreis hat als Radius den Abstand von M und<br />

P.<br />

Kreis durch drei Punkte<br />

Durch Markieren dreier Punkte A, B, C wird ein Kreis erzeugt, der durch diese drei Punkte<br />

verläuft. Dieser Kreis ist der Umkreis des Dreiecks ABC.<br />

Kegelschnitt durch 5 Punkte<br />

Durch Markieren von fünf Punkten wird ein Kegelschnitt erzeugt, der durch diese Punkte<br />

verläuft. Wenn keine vier der fünf Punkte auf einer Geraden liegen, ist der Kegelschnitt<br />

(eindeutig) definiert.


Anhang B<br />

Algebraische Eingabe<br />

Hier wird erklärt, wie in <strong>GeoGebra</strong> mit der Tastatur Eingaben gemacht werden.<br />

B.1 Allgemeines<br />

Im Algebrafenster (links) werden die Werte, Koordinaten und Gleichungen von freien und<br />

abhängigen Objekten angezeigt. Freie Objekte hängen von keinen anderen Objekten ab<br />

und können verändert werden.<br />

Die Eingabe erfolgt in der Eingabezeile am unteren Bildschirmrand. Wie diese funktioniert,<br />

ist in B.2 und B.3 erklärt.<br />

B.1.1<br />

Kontextmenü<br />

Nach Klicken mit der rechten Maustaste auf ein Objekt erscheint ein Kontextmenü, in<br />

dem die Darstellungsart (Polar-, cartesische Koordinaten; implizite, explizite Gleichung,<br />

...) gewählt werden kann.<br />

B.1.2<br />

Anzeigen und Ausblenden<br />

Geometrische Objekte können wahlweise angezeigt (gezeichnet) werden oder nicht. Dies<br />

kann über das Kontextmenü (B.1.1) verändert werden. Das farbige Symbol links neben<br />

jedem Objekt zeigt den aktuellen Zustand an: grün steht für anzeigen und rot für ausblenden.<br />

B.1.3<br />

Werte ändern<br />

Freie Objekte können verändert werden, abhängige nicht. Um den Wert eines freien Objekts<br />

zu verändern, überschreiben Sie diesen einfach durch erneute Eingabe in der Eingabezeile.<br />

Alternativ kann man auch im Algebrafenster Änderungen vornehmen. Nach Markieren<br />

eines Objekts und Drücken der F2 Taste erscheint ein Textfeld, indem Sie Eingaben wie<br />

in der Eingabezeile machen können.<br />

209


210 ANHANG B. ALGEBRAISCHE EINGABE<br />

B.1.4<br />

Umbenennen<br />

Markieren Sie im Algebrafenster ein Objekt und drücken die F2 Taste. Ändern Sie nun<br />

den Namen des Objekts und drücken die Eingabetaste.<br />

B.1.5<br />

Animation (experimentell)<br />

Möchte man eine Zahl oder einen Winkel kontinuierlich verändern, gibt es dazu eine einfach<br />

Möglichkeit: Markieren Sie die Zahl bzw. den Winkel im Algebrafenster und halten<br />

anschließend die + oder - Taste gedrückt.<br />

Damit lassen sich Animationen erzeugen. Hat ein Punkt beispielsweise die von einer<br />

Zahl k abhängigen Koordinaten P=(2k, k), dann bewegt sich der Punkt bei kontinuierlicher<br />

Veränderung von k auf einer Geraden.<br />

B.2 Direkte Eingabe<br />

In <strong>GeoGebra</strong> können Zahlen, Winkel, Punkte, Vektoren, Geraden und alle Kegelschnitte<br />

behandelt werden. Hier wird erklärt, wie diese Objekte beispielsweise durch Koordinaten<br />

oder Gleichungen eingegeben werden können.<br />

B.2.1<br />

Zahlen und Winkel<br />

Zahlen und Winkel werden mit einem Punkt . als Kommatrennzeichen eingegeben.<br />

Zahl r r = 5.32<br />

Winkel werden in Grad ( ◦ ) oder Radiant (rad) angegeben. Für Angaben in Radiant ist<br />

die Konstante pi nützlich.<br />

Grad Radiant<br />

Winkel alpha alpha = 60 ◦ alpha = pi / 3<br />

<strong>GeoGebra</strong> rechnet intern übrigens immer in Radiant. Das Symbol ◦ steht eigentlich für<br />

die multiplikative Konstante pi/180 und rechnet Grad in Radiant um.<br />

B.2.2<br />

Punkte und Vektoren<br />

Punkte und Vektoren werden in cartesischen oder in Polarkoordinaten (B.2.1) eingegeben.<br />

Großbuchstaben kennzeichnen Punkte und Kleinbuchstaben Vektoren.<br />

cartesische Koordinaten Polarkoordinaten<br />

Punkt P P = (2, 0) P = (2; 0 ◦ )<br />

Vektor v v = (0, 5) v = (5; 90 ◦ )


B.2. DIREKTE EINGABE 211<br />

B.2.3<br />

Gerade<br />

Geraden werden als Gleichung in x und y oder in Parameterdarstellung angegeben. In<br />

beiden Fällen können zuvor definierte Variablen (Zahlen, Punkte, Vektoren, ...) verwendet<br />

werden. Der Name einer Geraden kann am Beginn gefolgt von einem Doppelpunkt<br />

angegeben werden.<br />

Gleichung Parameterdarstellung<br />

Gerade g g : 3x + 4y = 2 g : X = (-5, 5) + t (4, -3)<br />

Seien beispielsweise k=2 und d=-1 bereits definierte Zahlen. Dann kann eine Gerade<br />

auch als g : y = k x + d eingegeben werden.<br />

B.2.4<br />

Kegelschnitt<br />

Kegelschnitte werden mittels einer quadratischen Gleichung in x und y angegeben. Dabei<br />

können zuvor definierte Variablen (Zahlen, Punkte, Vektoren, ...) verwendet werden. Der<br />

Name eines Kegelschnitts kann am Beginn gefolgt von einem Doppelpunkt angegeben<br />

werden.<br />

Gleichung<br />

Ellipse ell ell : 9x 2 + 16y 2 = 144<br />

Hyperbel hyp hyp : 9x 2 − 16y 2 = 144<br />

Parabel par par : y 2 = 4x<br />

Kreis k1 k1 : x 2 + y 2 = 25<br />

Kreis k2 k2 : (x − 5) 2 + (y + 2) 2 = 25<br />

Seien beispielsweise a=4 und b=3 bereits definierte Zahlen. Dann kann eine Ellipse mit<br />

diesen Halbachsenlängen auch als ell : b 2 x 2 + a 2 y 2 = a 2 b 2 eingegeben werden.<br />

B.2.5<br />

Arithmetische Operationen<br />

Bei der Eingabe von Zahlen, Punktkoordinaten oder Gleichungen (B.2) können geklammerte<br />

arithmetische Ausdrücke mit Variablen verwendet werden. Dazu sind folgende Operationen<br />

verfügbar:


212 ANHANG B. ALGEBRAISCHE EINGABE<br />

Operation<br />

Eingabe<br />

Addition +<br />

Subtraktion -<br />

Multiplikation, Skalarprodukt * oder Leerzeichen<br />

Division /<br />

Potenzieren ^ oder 2 , 3<br />

Klammern ( )<br />

Absolutbetrag abs( )<br />

Signum sgn( )<br />

Wurzel sqrt( )<br />

Exponentialfunktion exp( )<br />

Logarithmus (natürlicher) log( )<br />

Cosinus cos( )<br />

Sinus sin( )<br />

Tangens tan( )<br />

Arcus Cosinus acos( )<br />

Arcus Sinus asin( )<br />

Arcus Tangens atan( )<br />

Der Mittelpunkt M zweier Punkte A und B könnte beispielsweise als M = (A + B)/2<br />

eingegeben werden. Die Länge eines Vektors v könnte mittels l = sqrt(v * v) bestimmt<br />

werden.<br />

In <strong>GeoGebra</strong> kann also nicht nur mit Zahlen, sondern auch mit Punkten und Vektoren<br />

gerechnet werden.<br />

B.3 Befehle<br />

Mit Hilfe von Befehlen können neue Objekte erzeugt oder bestehende verändert werden.<br />

Zum Beispiel entsteht beim Schneiden der Geraden g und h ein neuer Schnittpunkt:<br />

S = Schneide[g, h] (B.3.4).<br />

Das Ergebnis eines Befehls kann benannt werden, indem man den Namen am Beginn<br />

gefolgt von einem = angibt. Im Beispiel S = Schneide[g, h] bekommt der Schnittpunkt<br />

der beiden Geraden also den Namen S.<br />

B.3.1<br />

Allgemeine Befehle<br />

Beziehung<br />

Beziehung[ Objekt a, Objekt b ] zeigt ein Informationsfenster an, das Auskunft über<br />

die Beziehung von a und b gibt.


B.3. BEFEHLE 213<br />

Mit diesem Befehl kann man beispielsweise herausfinden, ob zwei Objekte gleich sind, ob<br />

ein Punkt auf einer Geraden oder einem Kegelschnitt liegt, oder wie das Schnittverhalten<br />

einer Geraden und eines Kegelschnitts ist (Sekante, Passante, Tangente, Asymptote, ...).<br />

Lösche<br />

Lösche[ Objekt ] Löscht ein Objekt und alle davon abhängigen<br />

B.3.2<br />

Zahl<br />

Länge<br />

Länge[ Vektor ] Länge eines Vektors<br />

Abstand<br />

Abstand[ Punkt A, Punkt B ] Abstand der Punkte A und B<br />

Abstand[ Punkt A, Gerade g ] Normalabstand des Punktes A von der Geraden g<br />

Abstand[ Gerade g, Gerade h ] Normalabstand der Geraden g und h. Für schneidende<br />

Geraden ist dieser Abstand 0. Diese Funktion ist also nur für parallel Geraden<br />

interessant.<br />

Steigung<br />

Steigung[ Gerade ] Steigung einer Geraden<br />

Radius<br />

Radius[ Kreis ] Radius eines Kreises<br />

Parameter<br />

Parameter[ Parabel ] Parameter einer Parabel (Abstand zwischen Leitlinie und Brennpunkt)<br />

Hauptachsenlänge<br />

Hauptachsenlänge[ Kegelschnitt ] Hauptachsenlänge eines Kegelschnitts<br />

Nebenachsenlänge<br />

Nebenachsenlänge[ Kegelschnitt ] Nebenachsenlänge eines Kegelschnitts


214 ANHANG B. ALGEBRAISCHE EINGABE<br />

Exzentrizität<br />

Exzentrizität[ Kegelschnitt ] Exzentrizität eines Kegelschnitts<br />

B.3.3<br />

Winkel<br />

Winkel<br />

Winkel[ Vektor, Vektor ] Winkel zwischen zwei Vektoren (zwischen 0 und 360 ◦ )<br />

Winkel[ Gerade, Gerade ] Winkel zwischen den Richtungsvektoren zweier Geraden<br />

(zwischen 0 und 360 ◦ )<br />

Winkel[ Punkt A, Punkt B, Punkt C ] Der von den Strecken BA und BC eingeschlossene<br />

Winkel (zwischen 0 und 180 ◦ ). B ist der Scheitelpunkt.<br />

Winkel[ Kegelschnitt ] Verdrehwinkel der Hauptachse (B.3.6) eines Kegelschnitts<br />

Winkel[ Zahl ] Winkel zu einer Zahl (Ergebnis immer zwischen 0 und 2pi)<br />

B.3.4<br />

Punkt<br />

Mittelpunkt<br />

Mittelpunkt[ Punkt A, Punkt B ] Mittelpunkt von A und B<br />

Mittelpunkt[ Kegelschnitt ] Mittelpunkt eines Kegelschnitts (z.B. Kreis, Ellipse, Hyperbel)<br />

Brennpunkt<br />

Brennpunkt[ Kegelschnitt ] (alle) Brennpunkte eines Kegelschnitts<br />

Scheitel<br />

Scheitel[ Kegelschnitt ] (alle) Scheitelpunkte eines Kegelschnitts<br />

Schneide<br />

Schneide[ Gerade g, Gerade h ] Schnittpunkt der Geraden g und h<br />

Schneide[ Gerade g, Kegelschnitt c ] Schnittpunkte von g und c (höchstens 2)<br />

Schneide[ Kegelschnitt c, Kegelschnitt d ] Schnittpunkte von c und d (höchstens<br />

4)


B.3. BEFEHLE 215<br />

B.3.5<br />

Vektor<br />

Vektor<br />

Vektor[ Punkt A, Punkt B ] Vektor von A nach B<br />

Vektor[ Punkt ] Ortsvektor eines Punktes<br />

Richtung<br />

Richtung[ Gerade ] Richtungsvektor einer Geraden. Die Gerade ax + by = c hat den<br />

Richtungsvektor (b, −a).<br />

Einheitsvektor<br />

Einheitsvektor[ Gerade ] Richtungsvektor mit Länge 1 einer Geraden<br />

Einheitsvektor[ Vektor ] Vektor mit Länge 1 sowie gleicher Richtung und Orientierung<br />

wie der angegebene Vektor<br />

(B.3.5)<br />

Normalvektor<br />

Normalvektor[ Gerade ] Normalvektor einer Geraden. Die Gerade ax + by = c hat den<br />

Normalvektor (a, b).<br />

Normalvektor[ Vektor ] Normalvektor eines Vektors. Der Vektor (a, b) hat den Normalvektor<br />

(−b, a).<br />

Einheitsnormalvektor<br />

Einheitsnormalvektor[ Gerade ] Normalvektor mit Länge 1 einer Geraden<br />

Einheitsnormalvektor[ Vektor ] Normalvektor mit Länge 1 eines Vektors<br />

B.3.6<br />

Gerade<br />

Gerade<br />

Gerade[ Punkt A, Punkt B ] Gerade durch zwei Punkte A und B<br />

Gerade[ Punkt A, Gerade g ] Gerade durch A parallel zu g<br />

Gerade[ Punkt A, Vektor v ] Gerade durch A mit Richtung v


216 ANHANG B. ALGEBRAISCHE EINGABE<br />

Senkrechte<br />

Senkrechte[ Punkt A, Gerade g ] Gerade durch A senkrecht zu g<br />

Senkrechte[ Punkt A, Vektor v ] Gerade durch A senkrecht zur Richtung v<br />

Streckensymmetrale<br />

Streckensymmetrale[ Punkt A, Punkt B ] Streckensymmetrale zur Strecke AB<br />

Winkelsymmetrale<br />

Winkelsymmetrale[ Punkt A, Punkt B, Punkt C ] Winkelsymmetrale zum Winkel(A,<br />

B, C). B ist der Scheitelpunkt des Winkels.<br />

Winkelsymmetrale[ Gerade g, Gerade h ] Beide Winkelsymmetralen zu g und h<br />

Tangente<br />

Tangente[ Punkt A, Kegelschnitt c ] (alle) Tangenten durch A an c<br />

Tangente[ Gerade g, Kegelschnitt c ] (alle) Tangenten parallel zu g an c<br />

Asymptote<br />

Asymptote[ Hyperbel c ] beide Asymptoten einer Hyperbel<br />

Leitlinie<br />

Leitlinie[ Parabel c ] Leitlinie einer Parabel<br />

Achsen<br />

Achsen[ Kegelschnitt c ] Haupt- und Nebenachse eines Kegelschnitts<br />

Hauptachse<br />

Hauptachse[ Kegelschnitt c ] Hauptachse eines Kegelschnitts<br />

Nebenachse<br />

Nebenachse[ Kegelschnitt c ] Nebenachse eines Kegelschnitts<br />

Polare<br />

Polare[ Punkt A, Kegelschnitt c ] Polare von A bezüglich c


B.3. BEFEHLE 217<br />

Durchmesser<br />

Durchmesser[ Gerade g , Kegelschnitt c ] Durchmesser parallel zu g bezüglich c<br />

Durchmesser[ Vektor v, Kegelschnitt c ] Durchmesser mit Richtung v bezüglich c<br />

B.3.7<br />

Kegelschnitt<br />

Kreis<br />

Kreis[ Punkt M, Zahl r ] Kreis mit Mittelpunkt M und Radius r<br />

Kreis[ Punkt M, Punkt A ] Kreis mit Mittelpunkt M durch den Punkt A<br />

Kreis[ Punkt A, Punkt B, Punkt C ] Kreis durch die drei Punkte A, B, C<br />

Ellipse<br />

Ellipse[ Punkt F, Punkt G, Zahl a ] Ellipse mit den Brennpunkten F, G und der<br />

Hauptachsenlänge a. Es muss gelten: 2a > Abstand[F,G]<br />

Hyperbel<br />

Hyperbel[ Punkt F, Punkt G, Zahl a ] Hyperbel mit den Brennpunkten F, G und der<br />

Hauptachsenlänge a. Es muss gelten: 0 < 2a < Abstand[F,G]<br />

Parabel<br />

Parabel[ Punkt F, Gerade g ] Parabel mit Brennpunkt F und Leitlinie g<br />

Kegelschnitt<br />

Kegelschnitt[ Punkt A, Punkt B, Punkt C, Punkt D, Punkt E ] Kegelschnitt durch<br />

fünf Punkte (keine vier liegen auf einer Geraden)<br />

B.3.8<br />

Bewegungen<br />

Wenn einer der folgenden Befehle einer Variable zugewiesen wird, wird eine Kopie des<br />

bewegten Objekts erstellt. Der BefehlSpiegle[A, g] spiegelt den Punkt A an der Geraden<br />

g und verändert dabei den Punkt A. Der Aufruf B = Spiegle[A, g] erzeugt hingegen<br />

einen neuen Punkt B durch Spiegelung von A an der Geraden g. Hier bleibt A unverändert.


218 ANHANG B. ALGEBRAISCHE EINGABE<br />

Verschiebe<br />

Verschiebe[ Punkt A, Vektor v ] Verschiebt den Punkt A um den Vektor v<br />

Verschiebe[ Gerade g, Vektor v ] Verschiebt die Gerade g um den Vektor v<br />

Verschiebe[ Kegelschnitt c, Vektor v ] Verschiebt den Kegelschnitt c um den Vektor<br />

v<br />

Drehe<br />

Drehe[ Punkt A, Winkel phi ] Dreht den Punkt A um den Winkel phi um den Nullpunkt<br />

Drehe[ Vektor v, Winkel phi ] Dreht den Vektor v um den Winkel phi<br />

Drehe[ Gerade g, Winkel phi ] Dreht die Gerade g um den Winkel phi um den Nullpunkt<br />

Drehe[ Kegelschnitt c, Winkel phi ] Dreht den Kegelschnitt c um den Winkel phi<br />

um den Nullpunkt<br />

Drehe[ Punkt A, Winkel phi, Punkt B ] Dreht den Punkt A um den Winkel phi um<br />

den Punkt B<br />

Drehe[ Gerade g, Winkel phi, Punkt B ] Dreht die Gerade g um den Winkel phi um<br />

den Punkt B<br />

Drehe[ Kegelschnitt c, Winkel phi, Punkt B ] Dreht den Kegelschnitt c um den<br />

Winkel phi um den Punkt B<br />

Spiegle<br />

Spiegle[ Punkt A, Punkt B ] Spiegelt den Punkt A am Punkt B<br />

Spiegle[ Gerade g, Punkt B ] Spiegelt die Gerade g am Punkt B<br />

Spiegle[ Kegelschnitt c, Punkt B ] Spiegelt den Kegelschnitt c am Punkt B<br />

Spiegle[ Punkt A, Gerade h ] Spiegelt den Punkt A an der Geraden h<br />

Spiegle[ Gerade g, Gerade h ] Spiegelt die Gerade g an der Geraden h<br />

Spiegle[ Kegelschnitt c, Gerade h ] Spiegelt den Kegelschnitt c an der Geraden h


Literaturverzeichnis<br />

[1] Sinan Si Alhir. UML in a Nutshell. O’Reilly, 1998.<br />

[2] Martin Bergmann, Hrsg. Schülerduden Mathematik, Band I. Duden, Mannheim -<br />

Leipzig - Wien - Zürich, 6. Auflage, 1999.<br />

[3] I. N. Bronstein und K. A. Smendjajew. Taschenbuch der Mathematik. Verlag Harri<br />

Deutsch, Thun - Frankfurt, 24. Auflage, 1989.<br />

[4] D. Crocker und P. Overell. Request for Comments: 2234. Augmented BNF for Syntax<br />

Specifications: ABNF. Technical report, Network Working Group, 1997.<br />

[5] Josef Dick. Geometrie und Algebra. Salzburg, 1995. Zusammenstellung mehrerer<br />

Vorlesungen aus Geometrie und Algebra.<br />

[6] James D. Foley et al. Computer graphics: principles and practice. Addison-Wesley, 2.<br />

Auflage, 1990.<br />

[7] Klaus Freytag. Präformales Beweisen im Mathematikunterricht der Sekundarstufe I.<br />

Beiträge zum Mathematikunterricht, Seiten 136–139, 1993.<br />

[8] Karl Fuchs und Eva Vasarhelyi. Algebra und Geometrie - Zwei gleichwertige Partner.<br />

Beiträge zum Mathematikunterricht, Seiten 623–626, 1998.<br />

[9] Martin Held. Algorithmische Geometrie. Institut für Computerwissenschaften Salzburg,<br />

2001. Unterlagen zur Vorlesung.<br />

[10] Donald E. Knuth. The art of computer programming: Seminumerical Algorithms,<br />

Band 2. Addison-Wesley, 3. Auflage, 1997.<br />

[11] Max Koecher und Aloys Krieg. Ebene Geometrie. Springer-Verlag, Berlin - Heidelberg<br />

- New York, 2. Auflage, 2000.<br />

[12] Ulrich Kortenkamp. Foundations of Dynamic Geometry. Dissertation, Swiss Federal<br />

Institute of Technology Zurich, 1999.<br />

[13] Guido Krüger. Go To Java 2. Addison-Wesley, 2. Auflage, 2000.<br />

219


220 LITERATURVERZEICHNIS<br />

[14] William H. Press et al. Numerical Recipes in C. Cambridge University Press, 2.<br />

Auflage, 1992.<br />

[15] Reichel et al. Lehrbuch der Mathematik, Band 4. Hölder-Pichler-Tempsky, Wien, 5.<br />

Auflage, 1998.<br />

[16] Reichel et al. Lehrbuch der Mathematik, Band 7. öbv & hpt, Wien, 3. Auflage, 1999.<br />

[17] Jürgen Richter-Gebert und Ulrich Kortenkamp. Euklidische und Nicht-Euklidische<br />

Geometrie in Cinderella. Journal für Mathematik-Didaktik, 3/4:303–324, 2000.<br />

[18] Simon Roberts et al. Complete Java 2 Certification. Sybex, 2. Auflage, 2000.<br />

[19] Uwe Schöning. Theoretische Informatik – kurzgefaßt. Spektrum Akademischer Verlag<br />

GmbH, Heidelberg - Berlin - Oxford, 2. Auflage, 1995.<br />

[20] Fritz Schweiger. Rationale Punkte auf Kurven. Wissenschaftliche Nachrichten, 87:23–<br />

27, 1991.<br />

[21] Szirucsek et al. Mathematik, Band 6. öbv & hpt, Wien, 4. Auflage, 1999.<br />

[22] Heinrich Winter. Entdeckendes Lernen im Mathematikunterricht. Vieweg, Braunschweig<br />

- Wiesbaden, 1988.<br />

[23] Erich Christian Wittmann. Grundfragen des Mathematikunterrichts. Vieweg, Braunschweig<br />

- Wiesbaden, 1982.


Abbildungsverzeichnis<br />

3.1 Vektoraddition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3.2 Skalarmultiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

3.3 Norm (Länge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

3.4 Inneres Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.5 Winkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.6 Basis des R 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.7 Cartesische Koordinaten in einer Orthonormalbasis . . . . . . . . . . . . . 21<br />

3.8 Polarkoordinaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

3.9 Determinante einer 2 × 2 Matrix . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

4.1 Abtragungsaxiom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

4.2 Parallelogrammregel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

4.3 Koordinatensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

4.4 Normalvektorform einer Geraden . . . . . . . . . . . . . . . . . . . . . . . 49<br />

4.5 Spatprodukt 〈c, a × b〉 als Volumen des Parallepipeds . . . . . . . . . . . . 53<br />

4.6 Vektorprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

4.7 Koordinatentransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

4.8 Koordinatentransformation durch Basiswechsel . . . . . . . . . . . . . . . . 57<br />

4.9 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.10 Drehung um den Ursprung . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.11 Drehung um einen Punkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.12 Punktspiegelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.13 Spiegelung an der x-Achse . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.14 Spiegelung an einer Geraden . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.15 Ellipse in Hauptlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.16 Hyperbel in Hauptlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.17 Parabel in Hauptlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

4.18 Ellipse in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.19 Geradenpaar in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.20 Hyperbel in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

4.21 Doppelgerade in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . 84<br />

4.22 Parallele Geraden in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . 85<br />

221


222 ABBILDUNGSVERZEICHNIS<br />

4.23 Parabel in allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

4.24 Schnitt einer Parabel mit Geraden . . . . . . . . . . . . . . . . . . . . . . . 90<br />

4.25 Hyperbel mit Asymptoten . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

4.26 Tangenten durch einen Punkt an einen Kegelschnitt . . . . . . . . . . . . . 94<br />

4.27 Tangente durch einen Punkt auf einem Kegelschnitt . . . . . . . . . . . . . 95<br />

4.28 Tangenten und Polare eines Punktes bezüglich eines Kegelschnitts . . . . . 96<br />

4.29 Polare ohne Schnittpunkte mit einem Kegelschnitt . . . . . . . . . . . . . . 96<br />

4.30 Tangenten und Polare an eine Parabel . . . . . . . . . . . . . . . . . . . . 97<br />

4.31 Tangenten mit vorgegebener Richtung . . . . . . . . . . . . . . . . . . . . 99<br />

4.32 Durchmessergerade und Tangenten mit vorgegebener Richtung . . . . . . . 100<br />

4.33 Durchmesser und Tangenten mit vorgegebener Richtung einer Ellipse . . . 101<br />

5.1 Projektive Ebene als Menge der Strahlen des R 3 . . . . . . . . . . . . . . . 103<br />

5.2 Punkte des P(R 3 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

5.3 Geraden des P(R 3 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

5.4 Schnitt zweier Geraden des P(R 3 ) . . . . . . . . . . . . . . . . . . . . . . . 109<br />

5.5 Parallele affine Geraden und ihre projektive Entsprechung . . . . . . . . . 112<br />

5.6 Hyperbel als Schnitt eines Doppelkegels mit der Ebene z = 1 . . . . . . . . 114<br />

6.1 Streckensymmetrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

6.2 Abstand Punkt - Gerade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.3 Schnittwinkel zweier Geraden . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

6.4 Winkelsymmetrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />

6.5 Kreis durch drei Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

6.6 Parabel zu Leitgerade und Brennpunkt . . . . . . . . . . . . . . . . . . . . 132<br />

6.7 Kegelschnitt durch 5 Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />

6.8 Schnitt zweier Kegelschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br />

7.1 Baumstruktur von t + 4.2 cos(phi) . . . . . . . . . . . . . . . . . . . . . . . 150<br />

7.2 Linker Teilbaum (x − 2) 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

7.3 Rechter Teilbaum (6x − y)/5 + k . . . . . . . . . . . . . . . . . . . . . . . 154<br />

7.4 Strukturbaum einer Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

7.5 Klassendiagramm des Pakets arithmetic . . . . . . . . . . . . . . . . . . . 157<br />

8.1 Vererbungshierarchie der geometrischen Klassen . . . . . . . . . . . . . . . 160<br />