Diplomarbeit - GeoGebra
Diplomarbeit - GeoGebra
Diplomarbeit - GeoGebra
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 />