85
Praktikum zur Elementaren Differentialgeometrie Sommersemester 2004 Professor Dr. V. Bangert, Dr. Franz Auer Mathematisches Institut der Universit¨ at Freiburg http://home.mathematik.uni-freiburg.de/geometrie/praktikum/

Praktikum zur Elementaren Differentialgeometrie ...home.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/anleitung.pdf · Praktikum zur Elementaren Differentialgeometrie

  • Upload
    hathu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Praktikum zur ElementarenDifferentialgeometrieSommersemester 2004

Professor Dr. V. Bangert, Dr. Franz AuerMathematisches Institut der Universitat Freiburg

http://home.mathematik.uni-freiburg.de/geometrie/praktikum/

2

Inhaltsverzeichnis

1 Einleitung 7

1.1 Das Einloggen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Das Einloggen und die Oberflache . . . . . . . . . . . . . . . . . . . . 8

1.3 Wichtige Unix-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Die Dateien des Praktikums . . . . . . . . . . . . . . . . . . . . . . . 12

1.5 Ablauf und Ende des Praktikums . . . . . . . . . . . . . . . . . . . . 12

2 Einfuhrung in die Arbeit mit MAPLE 15

2.1 Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Lineare Algebra mit linalg . . . . . . . . . . . . . . . . . . . . . . . 20

2.5 Lineare Algebra mit LinearAlgebra . . . . . . . . . . . . . . . . . . 22

2.6 Manipulationen und Vereinfachungen . . . . . . . . . . . . . . . . . . 25

3 Ebene Kurven mit MAPLE 27

3.1 Die Beschreibung ebener Kurven . . . . . . . . . . . . . . . . . . . . 27

3.2 Die Bogenlange einer parametrisierten Kurve . . . . . . . . . . . . . . 30

3.3 Die Krummung ebener Kurven . . . . . . . . . . . . . . . . . . . . . . 34

3.4 Implizit definierte Kurven . . . . . . . . . . . . . . . . . . . . . . . . 38

3

4 INHALTSVERZEICHNIS

3.5 Ableitung, Tangente und Normale einer Kurve . . . . . . . . . . . . . 41

3.6 Die Berechnung neuer Kurven aus vorhandenen . . . . . . . . . . . . 45

4 Raumkurven 49

4.1 Graphische Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2 Geometrische Großen . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Einschub: Das diffgeo-Paket 55

5 Flachen im dreidimensionalen Raum 59

5.1 Die Darstellung parametrisierter Flachen mit MAPLE . . . . . . . . . 59

5.2 Tangentialebene und Normalenvektor . . . . . . . . . . . . . . . . . . 63

5.3 Die erste Fundamentalform . . . . . . . . . . . . . . . . . . . . . . . . 65

5.4 Regelflachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6 Die zweite Fundamentalform 69

6.1 Die zweite Fundamentalform . . . . . . . . . . . . . . . . . . . . . . . 69

6.2 Krummungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.3 Minimalflachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7 Christoffelsymbole und Geodatische 75

7.1 Christoffelsymbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.2 Geodatische . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Vorwort

In diesem Praktikum sollen Kurven, Flachen und die mit diesen verbundenen Großen(z. B. Krummungen), die in einer Vorlesung uber elementare Differentialgeometriestudiert werden, mit Hilfe des Computers symbolisch oder numerisch berechnet undvisualisiert werden. Dabei wird eine doppelte Zielsetzung verfolgt.

Einerseits sollen die Teilnehmer Grundkenntnisse erwerben, wie man Programmpa-kete zum Rechnen und Visualisieren nutzen kann. Das sind Fahigkeiten, die vonjedem Mathematiker im Beruf (auch an der Schule) erwartet werden.

Andererseits wird die Veranstaltung die Beschaftigung mit Differentialgeometrie in-tensivieren und mit neuen konkreten Beispielen bereichern. Das Praktikum ist soeine wichtige Erganzung zur Vorlesung

”Elementare Differentialgeometrie“, in der

die Theorie im Vordergrund steht.

Zum Einsatz kommen werden voraussichtlich die Programme MAPLE und POV-Ray. Im Detail gliedert sich das Praktikum in folgende Abschnitte:

• Untersuchung ebener Kurven mit MAPLE,

• Raumkurven mit MAPLE und POV-Ray,

• Flachen im dreidimensionalen Raum und die erste Fundamentalform,

• die zweite Fundamentalform, Krummung und Geodatische.

Das Praktikum”Elementare Differentialgeometrie“ wurde von meinem ehemaligen

Kollegen Dr. Achim Hornecker konzipiert und unter der Leitung von Prof. V. Bangertim Sommersemester 1997 auf den Rechnern des SUN-Pools des MathematischenInstituts zum ersten Mal durchgefuhrt. Bei ihm mochte ich mich herzlich bedanken.

Die Anderungen gegenuber fruheren Versionen sind vor allem darauf zuruckzufuhren,dass das Praktikum auf einem anderen Rechnerpool durchgefuhrt wird und eineneuere Version von MAPLE, Release 7, verwendet wird.

5

6 INHALTSVERZEICHNIS

Ich wunsche allen Teilnehmern viel Spaß und Erfolg.

Franz Auer

Anmerkung nach Durchfuhrung des Praktikums: POV-Ray konnte leider nicht aufden Rechnern installiert werden. Deshalb beschrankte sich das Praktikum (und dieseAnleitung) auf den Umgang mit MAPLE.

Kapitel 1

Einleitung

Das Computerpraktikum”Elementare Differentialgeometrie“ findet auf den Sun-

workstations des CIP-Pools im Raum 201, Hermann-Herder-Str. 10, 2. OG, des Ma-thematischen Instituts statt. Auf diesen Rechnern lauft eine Variante des Betriebs-system Unix. Da einige Teilnehmer des Praktikums vielleicht noch nicht mit Unixoder Linux vertraut sind, soll in dieser Einleitung zunachst eine kurze Einfuhrung indie Handhabung von Unix gegeben werden. Teilnehmer mit Unix/Linux-Erfahrungkonnen große Teile der folgenden Abschnitte uberblattern. Bitte beachten Sie, dassdie Sunrechner mit einer amerikanischen Tastatur ausgestattet sind, und dass dieTasten Ctrl und CapsLock gegenuber der ublichen Belegung vertauscht sind.

1.1 Das Einloggen

Das Betriebssystem Unix ist grundsatzlich fur den Mehrbenutzerbetrieb ausgelegt.Aus diesem Grund muß sich jeder Benutzer zunachst mit seinem Benutzernamenund seinem Paßwort beim System anmelden. Das Paßwort dient dazu, den unbefug-ten Zugang zum System zu verhindern. Selbst wenn Sie keine sicherheitsrelevantenDaten bearbeiten, kann sich ein Fremder, der Ihr Paßwort herausfindet, unter IhremBenutzernamen anmelden und auf diesem und anderen Systemen Schaden verursa-chen. Aus diesem Grund sollten Sie Ihr Paßwort fur sich behalten und es nichtweitergeben, auch nicht an

”gute Freunde“.

Zu Beginn des Computerpraktikum erhalten Sie einen anonymen Benutzernamen derForm skursc0 – skursc24. Die Schlussziffer entspricht dabei Ihrer laufenden Nummerauf der Anmeldeliste. Dazu erhalten Sie ein Paßwort. Sie sollten dieses Paßwortso schnell wie moglich andern (wie das geht, steht im Abschitt

”Wichtige Unix-

7

8 KAPITEL 1. EINLEITUNG

Befehle“). Wichtig ist, daß das neue Paßwort nur fur Sie einen Sinn ergibt; zudemsollte es nach Moglichkeit große und kleine Buchstaben sowie Sonderzeichen enthal-ten. Es gibt Programme, die versuchen, Paßworter zu erraten, indem sie Worter ausverschiedenen Lexika, aber auch allgemein bekannte Zeichenkombinationen wie etwaGeburtstage, Auto- und Telefonnummern oder Namen mit einer angehangten Zahldurchprobieren. Alle diese Zeichenfolgen kommen daher als Paßworter nicht in Fra-ge. Geeignete Paßworter sind dagegen etwa die Anfangsbuchstaben von Merksatzenoder Kombinationen aus Buchstaben, Zahlen und Sonderzeichen, die nur Ihnen be-kannt sind.

1.2 Das Einloggen und die Oberflache

Wie schon oben beschrieben, werden Sie zu Beginn jeder Sitzung vom System nachIhrem Benutzernamen und nach Ihrem Paßwort gefragt. Wurden diese richtig einge-geben, wird das System fur Sie eine Fensteroberflache starten, in der Sie viele Tatig-keiten durch Anklicken mit der Maus erledigen konnen. Am unteren Bildschirm-rand sehen Sie eine Menuleiste, die Ihnen einige Funktionen des Systems zuganglichmacht. Die wichtigste Funktion ist ein Knopf mit der Beschriftung EXIT. BenutzenSie diesen Knopf zur Beendigung Ihrer Sitzung. Sie werden anschließend gefragt, obSie die Sitzung auch wirklich beenden wollen. Dies mussen Sie bestatigen, um IhreSitzung ordnungsgemaß zu beenden. Falls Sie Ihre Sitzungen nicht ordnungsgemaßbeenden, haben andere Benutzer die Moglichkeit, Ihren Zugang zu mißbrauchen.

In der Mitte der Menuleiste haben Sie vier Knopfe, die mit ,,One” bis ,,Four” be-schriftet sind. Durch diese Knopfe haben Sie die Moglichkeit, Ihre Oberflache zuerweitern, falls Sie fur Ihre Arbeit mehr Platz benotigen. Weitere Funktionen stehenIhnen uber die verschiedenen Menupunkte zur Verfugung. Um ein Menu zu aktivie-ren, klicken Sie mit der rechten Maustaste in den Bildschirmhintergrund. Es offnetsich ein Pop-up-Menu, wo Sie weitere Untermenus durch Anklicken offnen konnen.Das zunachst fur Sie wichtigste Programm, das Sie uber das Menu aufrufen konnen,ist das Terminal.

Unix ist ein sehr umfangreiches Betriebssystem. Aus diesem Grund konnen nur dieam haufigsten benutzten Funktionen auf der Menuleiste liegen. Alle anderen Unix-Befehle werden durch Eingabe des Befehlsnamens und eventuell zusatzlicher Para-meter in der Unix-Kommandoeingabe ausgefuhrt. Eine solche Kommandoeingabeerhalten Sie durch den Menupunkt Tools → Terminal im Pop-up-Menu. Es erscheintein Fenster mit einer Eingabeaufforderuimng, dem sogenannten Prompt.

1.3. WICHTIGE UNIX-BEFEHLE 9

1.3 Wichtige Unix-Befehle

Ein Unix-Befehl wird durch Eingabe des Befehlsnamens und anschließendes Druckenauf die Enter -Taste ausgefuhrt. Diese Taste ist auf manchen Systemen auch mitReturn, Eingabe oder auch einfach mit einem abgewinkelten, nach links zeigendenPfeil beschriftet.

Wenn Sie den Befehl hilfe eingeben, so wird der Browser Netscape aufgerufen mitder Online-Hilfe. Klicken Sie als erstes auf

”Haufig gestellte Fragen“ und dann auf

”Wie andere ich mein Passwort“ und folgen Sie den Anweisungen um Ihr Passwort

zu andern:

Da das Passwort zentral fur den ganzen Pool verwaltet wird, ist das Andern desPassworts etwas umstandlich. Sie mussen sich dazu auf dem Server, dem Rechnermit dem Namen serv1, einloggen. Dies geschieht wie folgt: Sie tippen den Befehl sshserv1 ein. Sie erhalten dann die Aufforderung, Ihr Passwort einzugeben. Anschlie-ßend sind sie auf dem Rechner serv1 eingeloggt. Nun geben Sie den eigentlichenBefehl zum Andern des Paßwortes ein. Er lautet passwd. Sie werden nach dem altenPaßwort und anschließend zweimal nach dem neuen gefragt. Aus Sicherheitsgrundenwird das Paßwort nicht angezeigt. Um Tippfehler zu vermeiden, geschieht daher dieAbfrage des neuen Wortes doppelt. Anschließend tippen Sie exit um sich von serv1

auszuloggen. Das Passwort ist jetzt geandert, allerdings zunachst nur auf dem Ser-ver. Der Server teilt dies innerhalb der nachsten ca. 10 Minuten allen Rechnern mit.Von diesem Augenblick an ist Ihr neues Passwort gultig.

Benotigt ein Befehl zusatzliche Parameter, so werden diese durch Leerzeichen ge-trennt an den Befehlsnamen gehangt. So liefert beispielsweise der Befehl

man Befehlsname

Informationen zur Benutzung eines bestimmten Unix-Befehls. Mit der Enter -Tasteund der Leertaste konnen Sie dann durch den Informationstext blattern. Mit derTaste q beenden Sie die Anzeige des Informationstextes und erhalten wieder eineEingabeaufforderung.

Falsche Eingaben konnen Sie vor dem Betatigen der Enter -Taste mit der Backspace-Taste korrigieren. Diese Taste ist mit einem nach links zeigenden Pfeil gekennzeich-net und befindet sich am rechten oberen Rand des Buchstabenblocks Ihrer Tastatur.Sie loscht das Zeichen vor dem Cursor (Textmarkierung). Mit den Pfeiltasten, diesich in einem abgetrennten Block der Tastatur befinden, den sogenannten Cursor-tasten, konnen Sie die Position des Cursors verandern. Mit den Tasten, die nachlinks und rechts zeigen, wird der Cursor um einen Schritt in die entsprechende Rich-

10 KAPITEL 1. EINLEITUNG

tung bewegt. Mit der Taste, die nach oben zeigt, wird der vorangegangene Befehl indie Eingabeaufforderung geholt. Die nach unten zeigende Taste macht diesen Schrittruckgangig. Sie konnen auf diese Weise auch mehrere Befehle zuruckgehen. So sparenSie sich eine Menge Tipparbeit bei wiederkehrenden Befehlen.

Eine weitere Erleichterung ist der sogenannte Copy-Paste-Mechanismus der Fenster-oberflache. Sie konnen damit in einem beliebigen Fenster einen Text mit der Mausmarkieren. Bewegen Sie dazu den Mauszeiger auf den Anfang der zu markierendenStelle und drucken Sie die linke Maustaste. Fahren Sie bei gedruckter linker Tastezum Ende der Textstelle und lassen Sie dort die Taste los. Der Text erscheint nun miteinem anderen Hintergrund. Wenn Sie die Maus jetzt in das Fenster eines anderenProgrammes bewegen, egal ob Terminal oder Editor, so konnen Sie durch Druckender mittleren Maustaste den markierten Text in diesem Fenster an eine gewunsch-te Stelle einfugen. Dieser Mechanismus eignet sich beispielsweise zum Ubertragenlangerer Dateinamen oder Formeln.

Die nachsten Befehle beschaftigen sich mit dem Dateisystem von Unix. Es ist auf-gebaut wie ein Baum. Die Wurzel befindet sich fur jeden Benutzer in seinem Hei-matverzeichnis, in welches man nach dem Einloggvorgang gelangt. Jedes Heimat-verzeichnis ist wiederum Bestandteil eines großeren Baumes, der das gesamte Datei-system umfaßt. Innerhalb des Heimatverzeichnisses konnen weitere Unterverzeich-nisse angelegt werden, worin wiederum Unterverzeichnisse erzeugt werden konnen.Auf diese Weise liegen nicht alle Dateien in einem Verzeichnis, was beim Anwach-sen der Datenmenge zu einem Verlust der Ubersichtlichkeit fuhren wurde. Die Da-teien konnen thematisch in Unterverzeichnisse abgelegt werden. Eine Datei wirddurch ihren Namen und die Lage im Verzeichnisbaum beschrieben, wobei die Na-men der Unterverzeichnisse durch das Zeichen / getrennt werden. Die Zeichen-kette /home/benutzer/texte/probetext.txt bezeichnet also eine Datei namensprobetext.txt, die in einem Unterverzeichnis namens texte liegt. Dieses Unter-verzeichnis liegt im Heimatverzeichnis eines Benutzers mit Namen benutzer. DieAdresse seines Heimatverzeichnisses im Unix-Dateibaum ist /home/benutzer. Deraktuelle Verzeichnispfad wird Ihnen im Prompt angezeigt.

Mit dem Befehl

mkdir Verzeichnisname

kann ein neues Unterverzeichnis im aktuellen Verzeichnis angelegt werden. Ein Un-terverzeichnis kann mit

rmdir Verzeichnisname

geloscht werden, wenn es leer ist. In ein Unterverzeichnis kann mit

1.3. WICHTIGE UNIX-BEFEHLE 11

cd Verzeichnisname

gewechselt werden. Statt eines Namens kann auch ein ganzer Verzeichnispfad ange-geben werden. Beginnt der Pfadname mit einem / so bezieht er sich auf das Unix-Stammverzeichnis. Fehlt das Zeichen / zu Beginn des Pfadnamens, so wird der Pfadals relativ zum aktuellen Verzeichnis betrachtet. Folgende Abkurzungen sind er-laubt: Das Zeichen ∼ ersetzt den Pfad des eigenen Heimatverzeichnisses. Durch .

wird das aktuelle Verzeichnis abgekurzt, und .. bezeichnet das Verzeichnis, das demaktuellen Verzeichnis ubergeordnet ist. Die Dateien eines Verzeichnisses konnen mitdem Befehl

ls

aufgelistet werden. Der Befehl ls -l liefert eine detailliertere Auflistung. Dateienkonnen mit dem Befehl

cp Quelldatei Zieldatei

kopiert und mit

rm Dateiname

geloscht werden.

Viele dieser Dateibefehle konnen Sie auch uber den Dateimanager ausfuhren, der sichbeim ersten Einloggen automatisch offnet und den Sie sonst im Pop-up-Menu unterFolders → File Manager – Home aufrufen konnen. Die Benutzung der Shell ist jedochoft vielseitiger und, wenn man mit den Befehlen vertraut ist, auch schneller.

Eine kurze Ubersicht uber die wichtigsten Unix-Befehle

cd Name Wechselt in das Verzeichnis Name.cp Name1 Name2 Kopiert den Inhalt der Datei Name1 in die Datei

Name2.rm Name Loscht die Datei Name.ls Listet die Dateien in einem Verzeichnis auf.mkdir Name Erzeugt ein Unterverzeichnis namens Name.rmdir Name Loscht das Unterverzeichnis namens Name,

falls es leer ist.more Name Zeigt eine Textdatei an.man Befehl Zeigt Informationen zum Befehl Befehl an.passwd Andert das Benutzerpaßwort.

12 KAPITEL 1. EINLEITUNG

Dateinamen konnen einzelne Zeichenketten sein. In diesem Fall beziehen sie sich aufDateien im aktuellen Verzeichnis. Sie konnen aber auch den Pfadnamen beinhalten.Beginnt der Pfadname mit einem / so bezieht er sich auf das Unix-Stammverzeichnis.Fehlt das Zeichen / zu Beginn des Pfadnamens, so wird der Pfad als relativ zumaktuellen Verzeichnis betrachtet. Folgende Abkurzungen sind erlaubt: Das Zeichen∼ ersetzt den Pfad des eigenen Heimatverzeichnisses. Durch . wird das aktuelleVerzeichnis abgekurzt, beispielsweise bei Kopieraktionen, und .. bezeichnet dasVerzeichnis, das dem aktuellen Verzeichnis ubergeordnet ist. So wechselt der Befehl

cd ..

in das ubergeordnete Verzeichnis. In Dateinamen konnen auch sogenannte Wildcardsverwendet werden. So steht das Zeichen * fur eine beliebige Zeichenkette. Der Befehl

rm *.txt

loscht beispielsweise alle Dateien im aktuellen Verzeichnis, die die Endung .txt

besitzen.

1.4 Die Dateien des Praktikums

In dem Verzeichnis /project/skursc finden Sie zwei Unterverzeichnisse inbox unddropbox. Im ersten finden Sie Dateien, die Ihnen vom Praktikumsleiter zur Ver-fugung gestellt werden, z. B. MAPLE-Arbeitsblatter (Worksheets) mit Beispielenoder diese Anleitung. In diesem Verzeichnis haben Sie nur Leserechte, kein Schreib-recht. Im Verzeichnis dropbox werden Sie die Dateien ablegen, die Sie im Laufedes Praktikums als Losungen der Aufgaben erzeugen. Außer Ihnen kann nur derPraktikumsleiter die Dateien, die Sie in diesem Verzeichnis ablegen, lesen.

1.5 Ablauf und Ende des Praktikums

Das Praktikum ist so aufgebaut, dass die Sitzungen etwa jeweils zur Halfte ausErlauterungen und Erklarungen des Praktikumsleiters bestehen, wahrend Sie sich inder ubrigen Zeit selbststandig mit den Beispielen und Aufgaben beschaftigen. Dabei

1.5. ABLAUF UND ENDE DES PRAKTIKUMS 13

steht der Praktikumsleiter fur Fragen zur Verfugung. Sie konnen die Rechner jedochbenutzen wann immer der Pool geoffnet ist und dort keine andere Veranstaltungstattfindet.

Im Rahmen des Praktikums werden auch umfangreichere Grafiken und Filme er-zeugt, die in großem Ausmaß Speicherplatz belegen. Loschen Sie daher bitte alle Da-teien, die Sie nicht mehr benotigen. Bilder und Filme sollten, falls sie noch benotigtwerden, gepackt werden. Das geschieht mit dem Befehl compress Dateiname odergzip Dateiname. Der Dateiname erhalt dann die zusatzliche Endung .Z bzw. .gzund die Datei ist nicht mehr unmittelbar lesbar, verbraucht aber dafur weniger Platz.Sie konnen sie mit uncompress Dateiname bzw. gunzip Dateiname wieder in denOriginalzustand bringen.

Am Ende des Praktikums steht eine kleine informelle Prasentation Ihrer Ergebnisse,fur die Sie den Praktikumsschein erhalten. Nach Ablauf des Praktikums werdenIhre Dateien wieder geloscht, um Platz auf dem System zu sparen. Sie konnen IhreDateien aber auf Disketten sichern, per EMail verschicken oder per scp auf einenanderen Rechner kopieren.

Falls Sie Fehler in den Unterlagen finden oder Vorschlage zur Verbesserung haben,so teilen Sie bitte auch diese dem Praktikumsleiter mit.

14 KAPITEL 1. EINLEITUNG

Kapitel 2

Einfuhrung in die Arbeit mitMAPLE

Auf den Rechnern des CIP-Pools wird das Programm MAPLE durch Eingabe desKommandos xmaple & mit einer graphischen Oberflache gestartet. Es erscheint einFenster, das selbst wieder zwei Fenster enthalt. Das eine (mit gelbem Hintergrund)gehort zur Online-Hilfe, das andere ist das Arbeitsfenster. Sie konnen mit dem BefehlNew im Menu File weitere Arbeitsfenster offnen.

Im Arbeitsfenster erscheint ein Eingabeprompt (das Zeichen > gefolgt vom Cursor|), an dem nun beliebige MAPLE-Befehle eingegeben werde konnen. Ein MAPLE-Befehl kann sich im Unterschied zu UNIX-Befehlen uber mehrere Zeilen erstrecken,der Druck auf die Return-Taste fuhrt also nicht automatisch zum Ausfuhren desBefehls. Falls sich ein Befehl uber mehrere Zeilen erstrecken soll, dann sollten Siestatt der Return-Taste die Kombination aus Shift- und Return-Taste drucken, sonsterhalten Sie eine Fehlermeldung.

Das Ende einer Eingabe muß in MAPLE durch die Zeichen ; oder : angezeigt wer-den und anschließend muß die Return-Taste betatigt werden. (Der Cursor brauchtdabei nicht am Ende der Zeile zu stehen. Das ist nutzlich, wenn Sie eine Eingabenachtraglich korrigieren.) Beim Drucken der Return-Taste werden alle Befehle inner-halb der aktuellen

”Gruppe“ ausgefuhrt. Die Gruppe wird durch die am linken Rand

verlaufende eckige Klammer zusammengefasst. Der Unterschied zwischen den bei-den Zeichen ; und : besteht darin, daß beim Abschluß durch ; immer eine Ausgabeproduziert wird, wahrend die Bearbeitung mit : stumm verlauft. Bei langen oderuninteressanten Ausgaben wie zum Beispiel Zwischenrechnungen sollte die letztereAlternative gewahlt werden.

Auch in MAPLE steht Ihnen der Copy-Paste-Mechanismus zur Verfugung. Gerade

15

16 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

fur langer wiederkehrende Formeln stellt er eine wesentliche Arbeitserleichterungdar.

Hilfen zur Benutzung der einzelnen MAPLE-Befehle, insbesondere zur Syntax, er-halten Sie unter dem Menueintrag Help im MAPLE-Fenster oder indem Sie an einemEingabeprompt ? gefolgt vom Namen des Befehls eingeben. Ausnahmsweise brau-chen Sie die Zeile nicht mit ; oder : zu beenden.

Bitte beachten Sie, dass alle Operationen, die Sie in einem Arbeitsfenster ausfuhren,auch in allen anderen wirksam sind. Mit dem Befehl restart; machen Sie alle bisherausgefuhrten Operationen ungultig und setzen MAPLE in den Ausgangszustandzuruck.

2.1 Arithmetik

Die Grundrechenarten werden in MAPLE durch die Symbole + - * und / ausge-druckt. Potenziert wird mit dem Zeichen ^. Falls es MAPLE moglich ist, rechnet eseingegebene Terme direkt aus. Außerdem versteht MAPLE die Klammern ( und )

und beachtet die entsprechenden Regeln. Probieren Sie einmal folgende Beispiele,um mit der Oberflache vertraut zu werden. Bei falschen Eingaben konnen Sie mitden Pfeiltasten zuruckgehen und Ihre Eingabe korrigieren.

> 2+2;

4

> (32.186*6-176.9*4.2)/36.5;

−15.06476712

> 1/2-1/3;

1

6

> 1.414^2;

1.999396

> 1/0;

Error, numeric exception: division by zero

Zur besseren Lesbarkeit konnen auch Zwischenraume eingefugt werden.

2.2. VARIABLEN 17

2.2 Variablen

Variablen werden in MAPLE durch Buchstaben oder Buchstabenfolgen dargestellt.Das erste Zeichen muß ein Buchstabe sein, fur alle weiteren Zeichen konnen auchZahlen und der Unterstrich verwendet werden. Variablen kann entweder mit demBefehl

Variable := Wert ;

ein Wert zugeordnet werden, sie konnen aber auch einfach als Unbekannte verwendetwerden. Das folgende Beispiel soll dies illustrieren:

> Kraft:=Masse*Beschleunigung;

Kraft := Masse Beschleunigung

> Masse:=200;

Masse := 200

> Beschleunigung:=9.81;

Beschleunigung := 9.81

> Kraft;

1962.00

> Masse:=5500;

Masse := 5500

> Kraft;

53955.00

> Anfangshoehe:=20;

Anfangshoehe := 20

> Endhoehe:=60;

Endhoehe := 60

> Energie:=Kraft*(Endhoehe-Anfangshoehe);

Energie := .215820000 107

Haben Sie einer Variablen einen Wert zugewiesen, so konnen Sie diesen Schrittruckgangig machen, indem Sie der Variablen ihren Namen in einfachen Hochkomma-ta eingeschlossen zuweisen. So wurde beispielsweise der Befehl masse := ’masse’;

den Wert der Variablen loschen und Sie konnten die Variable wieder als einfacheUnbekannte verwenden.

18 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

2.3 Funktionen

Funktionen in MAPLE konnen durch den Pfeiloperator definiert werden:

Name der Funktion := Variable -> Ausdruck ;

beziehungsweise

Name der Funktion := (Variable 1, .. , Variable n ) -> Ausdruck ;

fur eine Funktion in mehreren Variablen. Unter einen Ausdruck soll im folgendeneine beliebige Verknupfung von Zahlen, Variablen und Operationen verstanden wer-den. Im Unterschied zu solchen Ausdrucken, die wie im obigen Beispiel direkt anVariablen ubergeben werden konnen, handelt es sich bei Funktionen um wirklicheAbbildungsvorschriften, an die beliebige Ausdrucke als Argument ubergeben werdenkonnen. Der Pfeil -> entsteht ubrigens aus den beiden Zeichen - und >.

Eine zweite Moglichkeit, Funktionen zu definieren, bietet der Befehl unapply. Erwird wie folgt gebraucht:

Name der Funktion := unapply(Ausdruck, Variable(n) );

(Zum Unterschied in der Funktionsweise zwischen dem Pfeiloperator und unapply

siehe unten.)

> f:=x->x^2;

f := x → x2

> g:=(x,y)->x^3-3*x*y^2;

g := (x, y) → x3 − 3 x y2

> f(5);

25

> f(t);

t2

> g(2,r);

8− 6 r2

> h:=unapply(sin(t)*cos(t),t);

h := t → sin(t) cos(t)

Ausdrucke werden in MAPLE mit dem Befehl diff differenziert, wobei als erstesArgument der zu differenzierende Ausdruck und danach die Variablen angegebenwerden, nach denen differenziert werden soll:

> diff(f(t),t);

2.3. FUNKTIONEN 19

2 t

> diff(g(s,t),s,t);

−6 t

Hier zeigt sich ein Unterschie zwischen dem Pfeiloperator und unapply: Wahrendbei der Definition von Funktionen durch unapply die definierenden Ausdrucke sofortausgewertet werden, geschieht dies bei Funktionen, die mittels -> definiert werden,erst beim Aufruf der Funktion.

Definieren wir fs1 := x -> diff(f(x),x); und rufen dann fs1(2); auf, so setztMAPLE den Wert 2 in den Ausdruck diff(f(x),x) ein und versucht diff(f(2),2)zu berechnen, was zu einer Fehlermeldung fuhrt. Definiert man hingegen fs2 :=

unapply(diff(f(x),x),x);, so bestimmt MAPLE sofort die Ableitung von f undberechnet dann f ′(2) richtig.

> fs1:=t->diff(f(t),t);

fs1 := t → diff(f(t), t)

> fs1(2);

Error, (in fs1) wrong number (or type) of parameters in function diff

> fs2:=unapply(diff(f(x),x),x);

fs2 := x → 2 x

> fs2(2);

4

Funktionen konnen auch direkt mit dem Befehl D abgeleitet werden. Die Syntax ist

D(Funktionsname );

fur eine Funktion von einer Variablen,

D[Folge von Indizes ](Funktionsname );

fur eine Funktion von mehreren Variablen.

> D(f);

x → 2 x

> D(h);

t → cos(t)2 − sin(t)2

> D[1](g);

(x, y) → 3 x2 − 3 y2

> D[1,2](g);

(x, y) → −6 y

20 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

2.4 Lineare Algebra mit linalg

Objekte wie Vektoren und Matrizen sowie Operationen wie Skalar- und Kreuzpro-dukt (Vektorprodukt) stehen in MAPLE nicht automatisch zur Verfugung, sondernwerden durch ein zusatzliches Paket zur Verfugung gestellt. Solche Macro-Paketewerden durch den Befehl with eingelesen. Es gibt zwei Pakete zur linearen Algebra,das altere linalg und das neuere LinearAlgebra. Jedes von beiden bietet Vorteile,die das jeweils andere nicht hat. Deshalb sollen hier beide kennengelernt werden. Indiesem Abschnitt benutzen wir das Paket linalg. Das Paket LinearAlgebra wirdim nachsten Abschnitt vorgestellt.

> with(linalg):

Warning, the protected names norm and trace have been redefined andunprotected

Die Meldung uber die Umdefinition der Befehle norm und trace kann dabei ignoriertwerden. Wenn Sie den Befehlt statt mit : mit ; abschließen, gibt MAPLE eine langeListe aller durch das Paket neu zur Verfugung gestellten Befehle aus.

Nachdem wir die Befehle zur Bearbeitung von Ausdrucken aus der linearen Algebrazur Verfugung haben, konnen wir als erstes Vektoren definieren. Vektoren konnenin linalg aus Listen mit der Funktion vector erzeugt werden. Listen sind durchKommata getrennte Ausdrucke, die in eckigen Klammern eingeschlossen sind. Inder Ausgabe lasst sich ein Vektor nicht von einer Liste unterscheiden. Im linalg-Paket sind Vektoren wie Matrizen Spezialformen von

”Arrays“. Zur Auswertung von

Vektorausdrucken wird wie bei Matrizenausdrucken Befehl evalm benutzt.

> v:=vector([1,2,3]);

v := [1, 2, 3]

> w:=vector([2,-2,2]);

w := [2, −2, 2]

> evalm(v+2*w);

[5, −2, 7]

Das Vergessen von evalm kann haufig die Ursache von Fehlern sein. Insbesonde-re, wenn ein Vektor nur mit einem Skalar multipliziert werden soll. Beachten Siefolgende (falsche) Eingabe:

> 2*v;

2 v

Das Ergebnis, das MAPLE produziert, sieht glaubwurdig aus, fuhrt aber zu uner-klarlichen Fehlermeldungen, wenn wir versuchen, damit weiterzurechnen. Die rich-

2.4. LINEARE ALGEBRA MIT LINALG 21

tige Eingabe

> evalm(2*v);

[2, 4, 6]

liefert immer einen ausgeschriebenen Vektor als Ergebnis. Achten Sie darauf, wennSie wahrend des Praktikums solche Ausdrucke bearbeiten.

Mit linalg stehen Ihnen alle gebrauchlichen Operationen der linearen Algebra zurVerfugung, beispielsweise Skalarprodukt und Kreuzprodukt:

> innerprod(v,w);

4

> crossprod(v,w);

[10, 4, −6]

Die Komponenten eines Vektors erhalt man uber den Index, der in eckigen Klam-mern hinter den Vektor geschrieben wird:

> v[2];

2

Matrizen werden durch eine Liste von Zeilenvektoren angegeben:

> m:=matrix([[1,a,b],[0,1,c],[0,0,1]]);

m :=

1 a b0 1 c0 0 1

Auch hier stehen alle gebrauchlichen Operationen zur Verfugung. Weitere Erlauter-ungen finden Sie im Hilfesystem von MAPLE.

> transpose(m); 1 0 0a 1 0b c 1

> evalm(m^(-1)); 1 −a a c− b

0 1 −c0 0 1

> evalm(m&*evalm(m^(-1))); 1 0 0

0 1 00 0 1

22 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

> evalm(m&*v);

[1 + 2 a + 3 b, 2 + 3 c, 3]

> evalm(v&*m&*w);

4− 2 a + 2 b + 4 c

Hier ist anzumerken, daß in linalg fur die Multiplikation von Matrizen und fur dieMultiplikation von Vektoren mit Matrizen der Operator &* anstelle des Operators* verwendet werden soll. Der Operator * fuhrt zwar nicht zu Fehlermeldungen undliefert auch oft ein richtiges Ergebnis, ist aber in MAPLE als kommutativer Operatordefiniert. Er kann daher zu unerlaubten Vereinfachungen der Ausdrucke fuhren.

Beachten Sie auch, daß Vektoren des linalg-Pakets zunachst keine einzeiligen odereinspaltigen Matrizen sind, aber bei Multiplikation mit Matrizen als Spalten oderZeilen betrachtet werden. Machen Sie sich den Unterschied folgender Eingaben klar:

> vector([a,b,c]);

[a, b, c]

> matrix([[a],[b],[c]]); abc

> matrix([[a,b,c]]); [

a b c]

2.5 Lineare Algebra mit LinearAlgebra

Laden Sie das LinearAlgebra-Paket

> with(LinearAlgebra):

Um die Befehle dieses Pakets von denen des linalg-Pakets zu unterscheiden, be-ginnen sie alle mit großen Anfangsbuchstaben.

Vektoren und Matrizen sind hier keine Spezialfalle von Arrays, sondern eigene Daten-typen. Vektoren sind in der Regel Spaltenvektoren (einspaltige Matrizen), konnenaber auch als Zeilenvektoren definiert werden. Der Befehl Vektor erzeugt einenSpaltenvektor, Vektor[row] einen Zeilenvektor. Vektoren konnen auch als Tupel inspitzen Klammern <, > eingegeben werden. Wird als Trennungszeichen ein Kommaverwendet, so wird ein Spaltenvektor erzeugt, wird der senkrechte Strich | verwen-det, so wird ein Zeilenvektor erzeugt.

2.5. LINEARE ALGEBRA MIT LINEARALGEBRA 23

Matrizen und Vektoren konnen direkt addiert und multipliziert werden, der Befehlevalm ist hier nicht notig. Das Zeichen fur die Matrizenmultiplikation ist ein Punkt.

> V:=Vector([a,b,c]);

V :=

abc

> W:=<d,e,f>;

W :=

def

> V+2*W; a + 2 d

b + 2 ec + 2 f

> 2*V; 2 a

2 b2 c

> DotProduct(V,W);

a d + b e + c f

Die Standardform von DotProduct bezeichnet das komplexe Skalarprodukt. Um diereelle Form zu erhalten wird als zusatzliches Argument die Option conjugate=false

angegeben:

> DotProduct(<a,b,c>,<d,e,f>,conjugate=false);

a d + b e + c f

> CrossProduct(V,W); b f − c ec d− a fa e− b d

> V[2]; W[3];

b

f

> M:=Matrix([[1,a,b],[0,1,c],[0,0,1]]);

M :=

1 a b0 1 c0 0 1

24 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

> Transpose(M); 1 0 0a 1 0b c 1

> M^(-1); 1 −a a c− b

0 1 −c0 0 1

> M.M^(-1); 1 0 0

0 1 00 0 1

> M.V; a + a b + b c

b + c2

c

Da V ein Spaltenvektor ist, ist das Produkt V.M nicht definiert:

> V.M;

Error, (in LinearAlgebra:-VectorMatrixMultiply) invalid input:LinearAlgebra:-VectorMatrixMultiply expects its 1st argument, v, to beof type Vector[row] but received Vector[column](3, [...], datatype =anything, storage = rectangular, order = Fortran_order, shape = [])

> Transpose(V).M.W;

a d + e (a2 + b) + f (a b + b c + c)

Beispiele fur die verschiedenen Moglichkeiten, Vektoren und Matrizen zu definieren:

> <a|b|c>;

[a, b, c]

> <V|<e,f,g>>; a eb fc g

> <<a|b|c>,<e|f|g>>; [

a b ce f g

]> Matrix([V,<e,f,g>]);

2.6. MANIPULATIONEN UND VEREINFACHUNGEN 25

a eb fc g

2.6 Manipulationen und Vereinfachungen

MAPLE versucht in der Regel, Ausdrucke zu vereinfachen. Das gelingt nicht immerautomatisch oder ist auch nicht immer gewunscht. Daher existiert eine Reihe vonBefehlen zur Manipulation und Vereinfachung von Ausdrucken. Der Befehl factorversucht, einen polynomialen Ausdruck in moglichst einfache Faktoren zu zerlegen:

> factor(x^2-y^2);

(x− y) (x + y)

Der Befehl expand macht das Gegenteil: er multipliziert Klammern aus. Das Pro-zentzeichen ist ubrigens eine Abkurzung fur das zuletzt berechnete Ergebnis. (Infruheren Versionen von MAPLE wurde dafur die doppelten Anfuhrungszeichen "

verwendet. Dies ist ab Release 5 nicht mehr moglich.) Ergebnis.

> expand(%);

x2 − y2

Falls die Automatik von MAPLE zur Vereinfachung von Ausdrucken versagt, hilftder Befehl simplify:

> simplify(cos(2*x)+sin(x)^2);

cos(x)2

Legt man besonderen Wert auf eine bestimmte Variable oder einen Term in einemAusdruck, so kann man diese sammeln:

> a:=y*(sin(x)+1)+sin(x);

a := y (sin(x) + 1) + sin(x)

> collect(a,sin(x));

(y + 1) sin(x) + y

Will man einen dieser Befehle auf Vektoren anwenden, so muß man den Befehl mapverwenden. Er bewirkt, daß der Befehl auf jeder einzelnen Komponente des Vektorsausgefuhrt wird.

> v:=vector([x^2-y^2, x^2+x*y]);

v := [x2 − y2, x2 + x y]

26 KAPITEL 2. EINFUHRUNG IN DIE ARBEIT MIT MAPLE

> map(factor,v);

[(x− y) (x + y), x (x + y)]

Soweit ein erster Uberblick uber die elementarsten Funktionen von MAPLE. Wei-tere Moglichkeiten sollen im Laufe dieser Unterlagen an konkreten Fallen vorge-stellt werden. Sie konnen Ihr MAPLE-Arbeitsblatt (Worksheet) mit den BefehlenSave oder Save As ... aus dem Menu File in der Menuleiste abspeichern. MAPLE-Arbeitsblatter haben die Dateiendung .mws. Sie konnen die Datei dann spater mitOpen ... im selben Menu wieder in MAPLE laden. Eine Liste der zuletzt bearbeite-ten Arbeitsblatter erscheint am Ende des Menus, wo Sie sie direkt durch Anklickenoffnen konnen. Bedenken Sie dabei, daß nach dem Laden keine Befehle automatischausgefuhrt werden. Ihre Ausdrucke sind undefiniert, bis Sie die Befehle erneut aus-gefuhrt haben. Sie konnen samtliche Befehle des Arbeitsblatts auf einmal ausfuhrendurch den Befehl Execute → Worksheet im Menu Edit.

Kapitel 3

Ebene Kurven mit MAPLE

3.1 Die Beschreibung ebener Kurven

Im Folgenden wird vorausgesetzt, daß Sie das Paket linalg geladen haben. EineKurve im R2 wollen wir in MAPLE durch eine vektorwertige Funktion beschreiben:

> alpha := t -> vector([t^2,t^3]);

α := t → [t2, t3]

> alpha(4);

[16, 64]

Wir konnen die Kurve zunachst auch nur durch Symbole beschreiben, und diesenSymbolen erst spater konkrete Funktionen zuweisen.

> alpha := t -> vector([a[1](t),a[2](t)]);

α := t → [a1(t), a2(t)]

> a[1] := t -> t^2;

a1 := t → t2

> a[2] := t -> t^3;

a2 := t → t3

> alpha(t);

[t2, t3]

Hier ist eine kleine Warnung angebracht. In der Mathematik identifiziert man ei-ne vektorwertige Funktion α : R → R2 gerne mit einem Paar (α1, α2) von reellenFunktionen α1, α2 : R → R. In MAPLE sind das aber verschiedene Dinge. Im obigenBeispiel ist α eine Funktion, deren Werte α(t) Vektoren sind. Hingegen ist a ein

27

28 KAPITEL 3. EBENE KURVEN MIT MAPLE

Paar von Funktionen a1, a2. Man kann also die Ausdrucke alpha(t), alpha(t)[1],a[1], a[1](t) schreiben, hingegen ergeben die Ausdrucke alpha[1], alpha[1](t),a(t) und a(t)[1] keinen Sinn.

Der Ableitungsoperator D lasst sich leider nur auf Funktionen anwenden, deren WerteZahlen sind, aber nicht auf vektorwertige. Die Komponentenfunktionen von α ste-hen uns nach dem eben gesagten aber leider nicht direkt zur Verfugung. Deshalbwerden wir die Ausdrucke alpha(t)[1] und alpha(t)[1] mit dem Ableitungsope-rator diff fur Ausdrucke differenzieren. Der Befehl map erlaubt uns, dies fur beideKomponenten gleichzeitig zu tun:

> map(diff, alpha(t), t);

[2 t, 3 t2]

MAPLE erlaubt es auch, ebene Kurven graphisch darzustellen. Dazu dient der Be-fehl plot. Dieser verlangt als Eingabe eine Liste, die die beiden Komponenten desBildvektors als Ausdrucke und den Parameterbereich enthalt:

> plot( [alpha(t)[1], alpha(t)[2], t= -1..1]);

Plot: 3.101.eps

Standardmaßig wird fur die Anzeige der Graphik ein neues Fenster geoffnet. Wenn

3.1. DIE BESCHREIBUNG EBENER KURVEN 29

Sie im Options auf Plot Display → Inline klicken, so wird die Graphik im Arbeitsfen-ster angezeigt.

Oft treten Kurvenscharen auf, d. h., Kurven, die noch von einem zusatzlichen Pa-rameter abhangen, z. B. ein Kreis vom Radius r. Diese stellen wir dar durch eineFunktion, die dem Parameter die jeweilige Kurve aus der Schar zuordnet:

> kreis:=r -> (t -> vector([r*cos(t),r*sin(t)]));

kreis := r → t → [r cos(t), r sin(t)]

Es ist also moglich, Funktionen zu erzeugen, deren Werte wieder Funktionen sind.

> kreis(r);

t → [r cos(t), r sin(t)]

> kreis(2);

t → [2 cos(t), 2 sin(t)]

> plot([kreis(2)(t)[1],kreis(2)(t)[2],t=0..2*Pi],

> scaling=constrained);

Plot: 3.102.eps

Der Ausdruck Pi ist von MAPLE reserviert und stellt den Wert π dar. Die Option

30 KAPITEL 3. EBENE KURVEN MIT MAPLE

scaling=constrained dient dazu, dass beide Achsen im gleichen Verhaltnis skaliertwerden.

Aufgaben

Aufgabe 3.1.1 Zeichnen Sie die Ellipse

αa,b(t) = (a cos(t), b sin(t))

fur verschiedene Werte a und b. Der MAPLE-Name fur π ist Pi. Dieser Name istgeschutzt und kann nicht verandert werden.

Sie konnen in MAPLE auch mehrere Kurven in ein Bild plotten. Laden Sie dazumit dem Befehl

with(plots):

die Bibliothek mit den erweiterten Plotbefehlen. Anschließend weisen Sie jeden Ploteiner Variablen durch

p := plot([ . . . ]):

zu. Benutzen Sie fur jeden Plot eine neue Variable und verwenden Sie den Doppel-punkt zum Abschluss des Befehls. Jetzt konnen Sie mit dem Befehl

display( p, q);

beispielsweise die Plots aus den Variablen p und q gemeinsam zeichnen lassen.

Aufgabe 3.1.2 Die Zykloide wird durch die Parametrisierung

α(t) = (t− sin(t), 1− cos(t))

beschrieben. Zeichnen Sie die Kurve im Intervall [0, 6π].

Aufgabe 3.1.3 Die Astroide ist gegeben durch die Parametrisierung

αn,a,b(t) = (a cosn(t), b sinn(t)) .

Zeichnen Sie die Astroide fur n = 3, a = 1 und b = 1.

3.2 Die Bogenlange einer parametrisierten Kurve

Als erste Anwendung soll in diesem Abschnitt die Bogenlange von parametrisiertenKurven mit Hilfe von MAPLE berechnet werden. Dazu zunachst die Definition derBogenlange:

3.2. DIE BOGENLANGE EINER PARAMETRISIERTEN KURVE 31

Definition. Es sei α : [a, b] → R2 eine parametrisierte Kurve. Ihre Bogenlange istdefiniert durch

L(α) :=

∫ b

a

‖α′(t)‖ dt .

Diese Definition soll nun in die Sprache von MAPLE ubersetzt werden. Wir benutzenhier gleichzeitig die Pakete linalg und LinearAlgebra. Zuvor setzen wir MAPLEin den Grundzustand zuruck.

> restart;

> with(LinearAlgebra): with(linalg):

Warning, the previous binding of the name GramSchmidt has been removedand it now has an assigned value

Warning, the protected names norm and trace have been redefined andunprotected

Wir betrachten zunachst eine beliebige Kurve α, definieren den Integranden undanschließend die Bogenlange als Integral daruber.

> alpha := t-> <a[1](t),a[2](t)>;

α := t → 〈a1(t), a2(t)〉> abl:=map(diff,alpha(t),t);

abl :=

[∂∂t

a1(t)∂∂t

a2(t)

]> integrand:=sqrt(DotProduct(abl,abl,conjugate=false));

integrand :=√

( ∂∂t

a1(t))2 + ( ∂∂t

a2(t))2

Obwohl wir hier die Definition von Vektoren aus dem LinearAlgebra-Paket benutzthaben, konnen wir auch den Befehl fur das Skalarprodukt aus dem linalg-Paketverwenden:

> integrand:=sqrt(innerprod(abl,abl));

integrand :=√

( ∂∂t

a1(t))2 + ( ∂∂t

a2(t))2

> int(integrand,t);∫ √( ∂

∂ta1(t))2 + ( ∂

∂ta2(t))2 dt

Bis jetzt hat MAPLE nichts anderes getan, als unsere Eingaben in mathematischerGestalt zu schreiben. Wir wollen nun ausprobieren, wie weit MAPLE auch fahig ist,mit diesen Symbolen zu rechnen. Dazu betrachten wir eine einfache Kurve:

32 KAPITEL 3. EBENE KURVEN MIT MAPLE

> alpha:= t -> <t^2,t^3>;

α := t → 〈t2, t3〉> abl:=map(diff,alpha(t),t);

abl :=

[2 t3 t2

]> integrand:=sqrt(DotProduct(abl,abl,conjugate=false));

integrand :=√

4 t2 + 9 t4

> int(integrand,t);

1

27

√4 t2 + 9 t4 (4 + 9 t2)

t> factor(%);

1

27

√t2 (4 + 9 t2) (4 + 9 t2)

t> int(integrand,t=0..1);

13

27

√13− 8

27

Sie brauchen hier nicht die ganzen Befehle neu einzutippen, sondern Sie konneneinfach mit dem Cursor zuruckgehen in die Zeile mit der Definition von α, diese edi-tieren, und dann solange Return drucken, bis alle Befehle neu ausgefuhrt wurden. Esbesteht dann allerdings die Gefahr, dass Sie den Uberblick verlieren, denn die Rei-henfolge, in der MAPLE die Befehle ausgefuhrt hat, stimmt dann nicht mehr mitder Reihenfolge im Arbeitsblatt uberein. Sie sollten dieses Verfahren deshalb nurzum Experimentieren benutzen, aber nicht, wenn Sie ihre MAPLE-Sitzung nach-vollziehbar halten und abspeichern wollen.

MAPLE kann also verschiedene unbestimmte Integrale symbolisch berechnen. Leiderlaßt sich die Bogenlange auf diese Art nur bei wenigen Beispielen berechnen. Nehmenwir zum Beispiel folgende Kurve:

> alpha:= t -> <t,t*sin(t)>;

α := t → 〈t, t sin(t)〉> abl:=map(diff,alpha(t),t);

abl :=

[1

sin(t) + t cos(t)

]> integrand:=sqrt(innerprod(abl,abl));

integrand :=√

1 + sin(t)2 + 2 sin(t) t cos(t) + t2 cos(t)2

> int(integrand,t=0..4);

3.2. DIE BOGENLANGE EINER PARAMETRISIERTEN KURVE 33

∫ 4

0

√1 + sin(t)2 + 2 sin(t) t cos(t) + t2 cos(t)2 dt

Hier versagt der in MAPLE eingebaute Algorithmus zur symbolischen Berechnungvon Integralen. Es ist jedoch immer moglich, einen numerischen Wert fur das Integralberechnen zu lassen. Dazu dient der Befehl evalf(Ausdruck). Das f steht dabeifur float, es wird also eine Fließkommazahl berechnet.

> evalf(int(integrand,t=0..4));

8.187152454

Um nicht fur jede neue Kurve alle diese Befehle neu eingeben zu mussen, fassen wirsie in einer Prozedur zusammen. Prozeduren in MAPLE sind ahnlich aufgebaut wiein Programmiersprachen. Hier definieren wir eine Funktion laenge, die angewendetauf eine Kurve und auf einen Parameterbereich, die Bogenlange der Kurve berechnet.

Wenn Sie am Zeilenende Return drucken erhalten Sie eine Warnmeldung, die Sieignorieren konnen. Wenn Sie stattdessen Shift + Return drucken, so erhalten Sieeinfach eine neue Zeile zum Weiterschreiben ohne Eingabeprompt.

> laenge:=proc(alpha, intervall)

> local t, abl, integrand;

> abl:=map(diff,alpha(t),t);

> integrand:=sqrt(innerprod(abl,abl));

> int(integrand,t=intervall);

> end;

laenge := proc(α, intervall)

local t, abl , integrand ;

abl := map(diff , α(t), t) ;

integrand := sqrt(innerprod(abl , abl)) ;

int(integrand , t = intervall)

end proc

> laenge(alpha,0..4);∫ 4

0

√1 + sin(t)2 + 2 sin(t) t cos(t) + t2 cos(t)2 dt

> evalf(laenge(alpha,0..4));

8.187152454

34 KAPITEL 3. EBENE KURVEN MIT MAPLE

Aufgaben

Aufgabe 3.2.1 Berechnen Sie die Bogenlange der Zykloiden aus Aufgabe 3.1.2 furdas Intervall [0, 6π]. Laßt sie sich symbolisch berechnen ?

Aufgabe 3.2.2 Berechnen Sie symbolisch die Bogenlange der logarithmischen Spi-rale

αa,b(t) = (aebt cos(t), aebt sin(t)) .

fur ein Intervall [c, d]. Die Exponentialfunktion lautet in MAPLE exp. VerwendenSie an geeigneten Stellen simplify.

Zeichnen Sie diese Spirale fur die Werte a = 1 und b = 0.08 im Bereich 0 ≤ t ≤ 12π.

Aufgabe 3.2.3 Berechnen Sie numerisch die Bogenlange der Ellipse aus Aufga-be 3.1.1 fur das Intervall [0, 2π] und verschiedene Werte von a und b.

3.3 Die Krummung ebener Kurven

In diesem Abschnitt soll die Krummung einer ebenen Kurve mit MAPLE berechnetund graphisch dargestellt werden. Wir benutzen das Paktet LinearAlgebra. DieDefinition der Krummung:

Definition. Sei α : (a, b) → R2 eine regulare Kurve. Die Krummung κα von α wirddurch

κα(t) =det

(α′(t), α′′(t)

)∥∥α′(t)∥∥3

gegeben.

Diese Definition soll nun in die Sprache von MAPLE ubersetzt werden. Wir gehenwie oben vor und definieren nacheinander die Terme, die wir brauchen.

> alpha:=t-> <a[1](t),a[2](t)>;

α := t → 〈a1(t), a2(t)〉> abl:=map(diff,alpha(t),t);

abl :=

[∂∂t

a1(t)∂∂t

a2(t)

]> abl2:=map(diff,abl,t);

abl2 :=

[∂2

∂t2a1(t)

∂2

∂t2a2(t)

]

3.3. DIE KRUMMUNG EBENER KURVEN 35

> v:=sqrt(DotProduct(abl,abl,conjugate=false));

v :=√

( ∂∂t

a1(t))2 + ( ∂∂t

a2(t))2

Um die Determinanten von abl und abl2 zu bilden, mussen wir die beiden Spalten-vektoren erst zu einer Matrix <abl|abl2> zusammenfassen.

> kappa:=(Determinant(<abl|abl2>))/v^3;

κ :=( ∂

∂ta1(t)) ( ∂2

∂t2a2(t))− ( ∂2

∂t2a1(t)) ( ∂

∂ta2(t))

(( ∂∂t

a1(t))2 + ( ∂∂t

a2(t))2)(3/2)

Wir konnen die Definition jetzt an einer konkreten Kurve ausprobieren. Nehmen wirdazu beispielsweise die Achtkurve

> alpha:=t-> <sin(t),sin(t)*cos(t)>;

α := t → 〈sin(t), sin(t) cos(t)〉> abl:=map(diff,alpha(t),t);

abl :=

[cos(t)

cos(t)2 − sin(t)2

]> abl2:=map(diff,abl,t);

abl2 :=

[−sin(t)

−4 sin(t) cos(t)

]> v:=sqrt(DotProduct(abl,abl,conjugate=false));

v :=√

cos(t)2 + (cos(t)2 − sin(t)2)2

> kappa:=(Determinant(<abl|abl2>))/v^3;

κ :=−3 cos(t)2 sin(t)− sin(t)3

(cos(t)2 + (cos(t)2 − sin(t)2)2)(3/2)

Wir fassen die Operationen wieder in einer Prozedur kruemmung zusammen, die einerKurve α ihre Krummungsfunktion zuordnet:

> kruemmung:=proc(alpha)

> local t, abl, abl2, v;

> abl:=map(diff,alpha(t),t);

> abl2:=map(diff,abl,t);

> v:=sqrt(DotProduct(abl,abl,conjugate=false));

> unapply((Determinant(<abl|abl2>))/v^3,t);

> end;

36 KAPITEL 3. EBENE KURVEN MIT MAPLE

kruemmung := proc(α)

local t, abl , abl2 , v;

abl := map(diff , α(t), t) ;

abl2 := map(diff , abl , t) ;

v := sqrt(LinearAlgebra : −DotProduct(abl , abl , conjugate = false)) ;

unapply(LinearAlgebra : −Determinant(〈abl | abl2 〉)/v3, t)

end proc

Wir testen diese mit dem obigen Beispiel:

> acht:= t-> <sin(t),sin(t)*cos(t)>;

acht := t → 〈sin(t), sin(t) cos(t)〉> kruemmung(acht);

t → −3 cos(t)2 sin(t)− sin(t)3

(cos(t)2 + (cos(t)2 − sin(t)2)2)(3/2)

Anschaulicher wird dieser Ausdruck naturlich durch eine graphische Darstellung.Zunachst zeichnen wir die Kurve

> plot([acht(t)[1],acht(t)[2],t=0..2*Pi]);

Plot: 3.301.eps

3.3. DIE KRUMMUNG EBENER KURVEN 37

und dann den Graph der Krummung. Der Plotbefehl hat dann die folgende einfa-chere Gestalt:

> plot(kruemmung(acht)(t), t=0..2*Pi);

Plot: 3.302.eps

Aufgaben

Aufgabe 3.3.1 Berechnen Sie die Krummung der Ellipse aus Aufgabe 3.1.1 undzeichnen Sie den Graphen der Krummung fur verschiedene Werte a und b.

Aufgabe 3.3.2 Berechnen Sie die Krummung der logarithmischen Spirale aus Auf-gabe 3.2.2. Zeichnen Sie den Graphen der Krummung fur die Werte a = 1 undb = 0.08 im Bereich 0 ≤ t ≤ 12π.

Aufgabe 3.3.3 Berechnen Sie die Krummung der Astroide aus Aufgabe 3.1.3 furn = 3, a = 1 und b = 1. Verwenden Sie den Befehl simplify(Ausdruck), um diesenAusdruck zu vereinfachen. An welchen Stellen wird die Krummung ∞ ? ZeichnenSie die Kurve und den Graphen des Krummungsradius, d.h. des Kehrwerts derKrummung.

38 KAPITEL 3. EBENE KURVEN MIT MAPLE

3.4 Implizit definierte Kurven

In diesem Abschnitt soll eine andere Moglichkeit vorgestellt werden, Kurven imR2 zu definieren. Anstatt sie als Spur einer Abbildung eines Intervalls in den R2

zu betrachten, betrachten wir hier Kurven, die als Urbildmenge eines Wertes einerFunktion auftreten, die eine Teilmenge des R2 nach R abbildet. Sei also U ⊂ R2 undF : U → R eine differenzierbare Funktion. Ziel unserer Betrachtungen ist die Menge

K(c) = {p ∈ U | F (p) = c} (3.1)

fur einen Wert c ∈ F (U).

Im allgemeinen werden wir keine parametrisierte Kurve finden, deren Bild mitK ubereinstimmt. Der Satz uber implizite Funktionen macht aber eine Aussagedaruber, wann zumindest lokal eine Parametrisierung gefunden werden kann. Istnamlich die Ableitung von F in einem Punkt p0 von 0 verschieden, so existiert ump0 eine Umgebung V , so dass sich K ∩ V als parametrisierte Kurve schreiben laßt.

Implizit definierte Kurven konnen in MAPLE mit dem Befehl implicitplot dar-gestellt werden. Dieser Befehl ist in der Bibliothek der erweiterten Plotbefehle ent-halten. Sie mussen diese Bibliothek also mit

> with(plots):

Warning, the name changecoords has been redefined

geladen haben. Dann ergibt beispielsweise

> implicitplot(x^2+y^2=1, x=-1..1, y=-1..1);

einen Kreis. Es ist auch moglich, mehrere implizit gegebene Kurven in dasselbeSchaubild zu zeichnen:

> implicitplot({x^2-y^2 = 1, y=exp(x)}, x=-Pi..Pi, y=-Pi..Pi);

Es ist interessant, die Anderung zu untersuchen, die eine durch Gleichung 3.1 be-schriebene Kurve durchlauft, wenn sich der Parameter c andert. Dabei treten in-teressante Anderungen besonders dann auf, wenn c gegen einen singularen Wert c0

lauft, d .h. ein Wert, fur den ein p0 ∈ U mit F (p0) = c0 und dF (p0) = 0 existiert.Betrachten wir zum Beispiel die Funktion

F : R2 → R F (x, y) = x3 + y3 − 3xy .

Fur c = 0.5 ergibt sich eine zusammenhangende Kurve:

> F := (x,y) -> x^3 + y^3 - 3*x*y;

F := (x, y) → x3 + y3 − 3 y x

3.4. IMPLIZIT DEFINIERTE KURVEN 39

> implicitplot( F(x,y) = 0.5, x = -2..2, y = -2..2);

> implicitplot( F(x,y) = -0.5, x = -2..2, y = -2..2);

Fur c = −0.5 erhalten wir jedoch 2 Kurven.

> implicitplot( F(x,y) = -0.5, x = -2..2, y = -2..2);

Man rechnet leicht nach, daß sowohl die Funktion als auch ihre Ableitung im Punkt0 verschwinden. Prufen Sie es einfach mit MAPLE nach. Fur c = 0 hat die Urbild-menge die folgende Gestalt.

> implicitplot( F(x,y) = 0, x = -2..2, y = -2..2);

Am deutlichsten wird der Ubergang, wenn man die Urbildmengen verschiedenerParameterwerte in ein Schaubild zeichnet:

> implicitplot( { F(x,y) = -0.5, F(x,y) = -0.3,

> F(x,y) = -0.1, F(x,y) = 0,

> F(x,y) = 0.1, F(x,y) = 0.3,

> F(x,y) = 0.5 }, x = -2..2, y = -2..2);

Plot: 3.401.eps

40 KAPITEL 3. EBENE KURVEN MIT MAPLE

Aufgaben

Aufgabe 3.4.1 Untersuchen Sie das Verhalten der Kurven, die durch folgendeFunktionen implizit definiert werden:

1. F (x, y) = x3 − x2 + y2

2. F (x, y) = x3 − y2

3. F (x, y) = (x2 + y2)2 + 3x2y − y3

4. F (x, y) = (x2 + y2)3 − 4x2y2

In manchen Fallen wird der Befehl implicitplot nicht exakt genug arbeiten. In die-sen Fallen konnen Sie die Genauigkeit erhohen, indem Sie zusatzlich grid = [100,

100] als Parameter ubergeben, also implicitplot( ..., grid = [100, 100])

schreiben. Sie konnen naturlich noch hohere Zahlen als 100 wahlen, was jedochdie Rechenzeit erheblich vergroßert.

Aufgabe 3.4.2 Eine Cassinische Kurve ist die Menge aller Punkte, deren Produktder Abstande von 2 fest vorgegebenen Punkten konstant ist. Wahlen Sie die beidenPunkte geeignet und definieren Sie die Cassinischen Kurven implizit. Zeichnen Siefur feste Punkte verschiedene Cassinische Kurven in dasselbe Schaubild.

Aufgabe 3.4.3 Zur Lokalisierung von beweglichen Objekten wird u.a. das TDOA(Time Difference Of Arrival) Verfahren angewandt. Dabei sendet das zu lokalisie-rende Objekt ein Signal, das drei Empfanger E1, E2, E3 mit bekannten Positionenund exakt synchronen Uhren empfangen. Das gesendete Signal wird i. allg. in denEi zu unterschiedlichen Zeiten ti ankommen. Aus diesen Differenzen laßt sich nundie Position ermitteln. Bestimmen Sie die Position (a, b) des Objekts fuer den FallE1 = (4, 0), E2 = (0, 5), E3 = (−7,−2) und

|c t1 − c t2| = 5−√

2

|c t1 − c t3| = 5

|c t2 − c t3| = 10−√

2,

mit c = Lichtgeschwindigkeit und ti = Zeitpunkt der Signalankunft in Ei.

Hinweis: Plotten sie die Menge der Punkte gleicher Zeitdifferenz. Der Schnittpunktist die gesuchte Position. Den Betrag erhalten Sie in MAPLE mit der Funktion abs.

3.5. ABLEITUNG, TANGENTE UND NORMALE EINER KURVE 41

3.5 Ableitung, Tangente und Normale einer Kur-

ve

Wir nehmen wie immer an, dass die Pakete linalg und LinearAlgebra geladensind. Die Ableitung einer Kurve α haben wir schon ofters wie folgt benutzt.

> alpha := t -> <a[1](t),a[2](t)>: map(diff,alpha(t),t);[∂∂t

a1(t)∂∂t

a2(t)

]Hier wollen wir die Ableitung α′ als Funktion definieren. Naheliegend ist der folgendeAnsatz.

> alpha_s:= unapply(map(diff,alpha(t),t),t):

> alpha_s(t); [∂∂t

a1(t)∂∂t

a2(t)

]

> alpha_s(2); [∂∂t

a1(t)∂∂t

a2(t)

]Die letzte Zeile zeigt, dass MAPLE hier nicht das tut, was es soll. Der Befehl unapplyfunktioniert nicht richtig, wenn er auf einen vektorwertigen Ausdruck angewandtwerden soll.

Andererseits ist der Pfeiloperator nicht direkt brauchbar, um Ableitungen zu definie-ren, da der Ausdruck auf der rechten Seite erst ausgewertet wird, wenn die Funktionaufgerufen wird.

Wir umgehen das Problem mit folgendem Trick: Wir definieren die Komponenen-tenfunktionen der Ableitungen mit Hilfe von unapply und dann die vektorwertigeFunktion mit Hilfe des Pfeiloperators:

42 KAPITEL 3. EBENE KURVEN MIT MAPLE

> abl:=proc(alpha)

> local t, a, b, i;

> for i from 1 to 2 do

> a[i]:=unapply(alpha(t)[i],t);

> b[i]:=D(a[i])

> od;

> t-> <b[1](t),b[2](t)>

> end;

abl := proc(α)

local t, a, b, i;

for i to 2do ai := unapply(α(t)i, t) ; bi := D(ai) end do ;

t → 〈b1(t), b2(t)〉end proc

Der Einheitstangentenvektor tα(t) und der Einheitsnormalenvektor nα(t) von α imPunkt t sind durch

tα(t) :=1

‖α′(t)‖α′(t) , nα(t) := J(tα(t))

definiert, wobei J : R2 → R2, (v1, v2) 7→ (−v2, v1), die Vierteldrehung nach linksbezeichnet.

LinearAlgebra verfugt uber die Funktion Norm. Ohne zusatzlichen Parameter be-zeichnet sie die Maximumsnorm. Die euklidische Norm erhalt man mit dem zusatzlichenParameter 2. (Ahnliches gilt fur das linalg-Paket. Benutzen Sie die Online-Hilfeum mehr dazu zu erfahren.)

> v:=(<v1,v2>): Norm(v); Norm(v,2);

max(|v2 | , |v1 |)√|v1 |2 + |v2 |2

> u:=<sin(t),cos(t)>: Norm(u,2);√|sin(t)|2 + |cos(t)|2

Die Betragsstriche, die im Reellen uberflussig sind, machen das Weiterverarbeitensolcher Ausdrucke jedoch schwierig. Deshalb definieren wir uns selbst einen Befehleukl norm:

> eukl_norm:= v -> sqrt(linalg[innerprod](v,v)):

3.5. ABLEITUNG, TANGENTE UND NORMALE EINER KURVE 43

Wir rufen hier den Befehl innerprod aus dem linalg-Paket in der langen Formlinalg[innerprod] auf. In dieser Form kennt ihn Maple auch dann, wenn diesesPaket nicht zuvor mit with(linalg) geladen wurde. Testen Sie Definitionen immeran Beispielen, sowohl an konkreten, als auch an allgemeinen:

> eukl_norm(v);√

v1 2 + v2 2

> eukl_norm(u);

1

> w:= <2,3>: eukl_norm(w);

Um Vektoren zu normieren definieren wir uns den Befehl normier (das Analogonzu normalize bzw. Normalize):

> normier:= v -> LinearAlgebra[ScalarMultiply](v, 1/eukl_norm(v));

Der Befehl ScalarMultiply aus dem LinearAlgebra-Paket ist notig, weil die ein-fache Form s * v der Mulitplikation eines Skalars s mit einem Vektor v nur dannfunktioniert, wenn s eine Konstante ist, aber nicht fur beliebige Ausdrucke (probie-ren Sie es aus). Testen Sie den neuen Befehl normier:

> normier(v); v1√

v1 2 + v2 2

v2√v1 2 + v2 2

> normier(w);

Wir brauchen außerdem einen Befehl fur die Vierteldrehung nach links:

> J:= v-> <-v[2],v[1]>;

J := v → 〈−v2, v1〉> J(u); J(v); J(w);

Damit konnen wir nun Prozeduren definieren, die einer Kurve ihr Einheitstangen-tenvektorfeld tα und ihr Einheitsnormalenvektorfeld nα zuordnen.

> einheits_tang:=proc(alpha)

> t-> simplify(normier(abl(alpha)(t)));

> end;> einheits_normal:=proc(alpha)

> t-> J(einheits_tang(alpha)(t));

> end;

44 KAPITEL 3. EBENE KURVEN MIT MAPLE

Machen Sie sich in allen diesen Definitionen klar, welche Operationen in den einzel-nen Schritten ausgefuhrt werden und testen Sie sie an Beispielen.

> einheits_tang(alpha)(t);D(a1)(t)√

D(a1)(t)2 + D(a2)(t)2

D(a2)(t)√D(a1)(t)2 + D(a2)(t)2

> einheits_normal(alpha)(t); − D(a2)(t)√

D(a1)(t)2 + D(a2)(t)2

D(a1)(t)√D(a1)(t)2 + D(a2)(t)2

Hier als konkretes Beispiel der Kreis vom Radius r > 0.

> kreis:=r-> (t -> <r*cos(t),r*sin(t)>);

kreis := r → t → 〈r cos(t), r sin(t)〉

> kreis(r);

> v:=abl(kreis(r))(t);

v :=

[−r sin(t)r cos(t)

]> eukl_norm(v);

csgn(r) r

Damit MAPLE diesen Ausdruck weiter vereinfachen kann, mussen wir ihm sagen,dass r eine positive ganze Zahl ist.

> assume(r::positive); eukl_norm(v);

> einheits_tang(kreis(r))(t);[−sin(t)cos(t)

]> einheits_normal(kreis(r))(t);[

−cos(t)−sin(t)

]Als Anwendung berechnen wir die Tangente einer Kurve α im Punkt t:

3.6. DIE BERECHNUNG NEUER KURVEN AUS VORHANDENEN 45

> tangente:=proc(alpha,t)

> s -> alpha(t) + LinearAlgebra[ScalarMultiply](abl(alpha)(t),s);

> end;

> tangente(alpha,t)(s);[a1(t) + s D(a1)(t)a2(t) + s D(a2)(t)

]> tangente(kreis(r),t)(s);[

r˜ cos(t)− s r˜ sin(t)r˜ sin(t) + s r˜ cos(t)

]

Aufgaben

Aufgabe 3.5.1 Die Frenetschen Gleichungen fur eine beliebige regulare (nichtnotwendig nach Bogenlane parametrisierte) ebene Kurve α lauten:

1

t′α = κα nα ,1

n′α = −κα tα ,

wobei vα(t) := ‖α′(t)‖ ist.

Uberprufen Sie diese Gleichungen fur eine allgemeine Kurve α(t) =(a1(t), a2(t)

)und fur ein konkretes Beispiel.

Aufgabe 3.5.2 Wahlen Sie eine ebene Kurve α. Zeichnen Sie α und an mehrerenStellen ti die Tangente von α in ti (alles gemeinsam in einem Schaubild).

Aufgabe 3.5.3 Hauptsatz der ebenen Kurventheorie. Gegeben sei eine Funktionf : I → R.

Geben Sie MAPLE-Befehle an, die aus diesen Daten die eindeutig bestimmte nachBogenlange parametrisierte Kurve α : I → R2 mit α(0) = (0, 0), α′(0) = (1, 0) undκα = f bestimmt.

Schreiben Sie eine Prozedur, die α aus f berechnet.

3.6 Die Berechnung neuer Kurven aus vorhande-

nen

Geben wir eine bestimmte Kurve vor, so lassen sich aus ihr eine Reihe neuer Kurvenberechnen. So konnen wir zum Beispiel fur jeden Punkt α(t) einer regularen Kurve

46 KAPITEL 3. EBENE KURVEN MIT MAPLE

α : I → R2 den Mittelpunkt des Krummungskreises an die Kurve in diesem Punktberechnen und diese Mittelpunkte wieder zu einer Kurve zusammenfassen. Die soentstehende Kurve ist die Evolute. Gemaß ihrer Definition lasst sich fur die Evoluteleicht folgende Formel herleiten:

evoluteα(t) = α(t) +( 1

κα(t)

)n(t)

Eine MAPLE-Version dieser Formel lautet:> evolute:=proc(alpha)

> t-> simplify(alpha(t) +

> ScalarMultiply(einheits_normal(alpha)(t),1/kruemmung(alpha)(t)));

> end;

Dabei wird vorausgesetzt, dass das LinearAlgebra-Paket geladen ist und die Befehlekruemmung, abl, eukl norm, normier, J, einheits tang und einheits normal ausden vorangehenden Abschnitten definiert sind. Sollten Sie die Definitionen nichtmehr im Speicher haben, so laden Sie die vorhergehenden Abschnitte ein und fuhrenSie die Definitionen noch einmal aus.

MAPLE-Arbeitsblatter zu den einzelnen Kapiteln und Abschnitten finden Sie imVerzeichnis /project/skursc/inbox unter den Namen 2.mws, 3.1.mws, 3.2.mws,etc. Sie finden dort außerdem ein Arbeitsblatt def.mws, in dem die benotigten Defi-nitionen gesammelt werden. Dieses Arbeitsblatt wird laufend erganzt. Es kann sein,dass Sie mit MAPLE nicht direkt auf die Dateien in diesem Verzeichnis zugreifenkonnen, dann mussen Sie sie zuerst in Ihr Home-Verzeichnis kopieren.

Es empfiehlt sich außerdem, dass Sie selbst ein oder mehrere MAPLE-Arbeitsblatterabspeichern, wo sie diejenigen Definitionen ablegen, die Sie voraussichtlich spaternoch benotigen werden.

Berechnen wir zum Beispiel einmal die Evolute einer Ellipse:

> ellipse:=(a,b) -> (t-> <a*cos(t), b*sin(t)>);

ellipse := (a, b) → t → 〈a cos(t), b sin(t)〉> expr:=evolute(ellipse(a,b))(t);

expr :=

cos(t)3 (a2 − b2)

a

sin(t) (b2 − b2 cos(t)2 − a2 + a2 cos(t)2)

b

> simplify(expr);

3.6. DIE BERECHNUNG NEUER KURVEN AUS VORHANDENEN 47

cos(t)3 (a2 − b2)

a

sin(t) (b2 − b2 cos(t)2 − a2 + a2 cos(t)2)

b

Die Vereinfachung ist nicht ganz gelungen, aber wir konnen erkennen, daß die zweiteKomponente des Vektors durch

(b2 − a2) sin3(t)

b

ersetzt werden kann. Als Evolute der Ellipse ergibt sich also gerade eine der Astro-iden aus Aufgabe 3.1.3. Zeichnen wir nun die Ellipse und ihre Evolute fur die Wer-te a = 2 und b = 1 in eine Graphik. Dazu konnen wir den Befehl display ausdem plots-Paket verwenden oder die Listen in eckigen Klammern mit geschweiftenKlammern zusammenfassen:

> ell:=ellipse(2,1)(t);

ell :=

[2 cos(t)sin(t)

]> ev:=evolute(ellipse(2,1))(t);

ev :=

3

2cos(t)3

3 sin(t) cos(t)2 − 3 sin(t)

> plot({[ell[1], ell[2], t=0..2*Pi], [ev[1], ev[2], t=0..2*Pi]});

Plot: 3.601.eps

48 KAPITEL 3. EBENE KURVEN MIT MAPLE

Sie konnen die Plot-Option scaling=constrained angeben um zu erreichen, dassbeide Achsen im gleichen Verhaltnis skaliert werden.

Aufgaben

Aufgabe 3.6.1 Berechnen Sie die Evolute einer logarithmischen Spirale (vgl. Auf-gabe 3.2.2). Welche Kurve ergibt sich?

Zeichnen Sie die Spirale und ihre Evolute fur geeignete Parameter.

Aufgabe 3.6.2 Zu einer Kurve α : I → R2 wird die Parallelkurve βs : I → R2 fureinen festen Wert s ∈ R folgendermaßen definiert: Der Punkt βs(t) entsteht aus demPunkt α(t) indem man eine Strecke der Lange s in Richtung des Normalenvektorsim Punkt α(t) abtragt.

Definieren Sie eine MAPLE-Funktion, die einer regularen Kurve α und einer reellenZahl s die entsprechende Parallelkurve zuordnet.

Testen Sie die Funktion mit einigen Beispielen und zeichnen Sie verschiedene Par-allelkurven.

Aufgabe 3.6.3 MAPLE besitzt die Funktion animate zur Erzeugung kleiner Filme.Diese Funktion ist Bestandteil des plots-Pakets. Zum Beispiel liefert der Befehl

> animate( [s*cos(t), s*sin(t), t=0..2*Pi], s=1..8, frames=50);

den Film eines sich aufblasenden Kreises. Sie sehen zunachst nur den Anfangszu-stand. Wenn Sie in das Bild klicken, andert sich die Menuleiste und es erscheint dortein Abspielknopf zum Starten des Films.

Erzeugen Sie einen Film uber die Parallelkurven der Ellipse, in dem sich der Para-meter s zeitlich verandert. Wann sind die Parallelkurven nicht mehr regular? Waspassiert am Zeitpunkt, an dem die ersten nichtregularen Parallelkurven erscheinen?

Erleichtern Sie die Beobachtung dieses Zeitpunktes, indem Sie den Parameter s nichtlinear laufen lassen, sondern eine Funktion darauf anwenden, die die Bewegung zudiesem Zeitpunkt bremst.

Kapitel 4

Raumkurven

4.1 Graphische Darstellung

Fur die Darstellung von Raumkurven existiert in MAPLE der Befehl spacecurveaus der Bibliothek plots. Diesem Befehl lassen sich noch einige Parameter mitge-ben. So kann man zum Beispiel durch den Parameter numpoints die Anzahl derPunkte angeben, die berechnet werden sollen. Dazwischen wird die Kurve inter-poliert. Außerdem lasst sich durch den Parameter axes angeben, ob und wie dieKoordinatenachsen angezeigt werden sollen. Auch schon bekannte Parameter wiescaling=constrained lassen sich weiterhin verwenden. Die Syntax ist etwas andersals bei der Darstellung von ebenen Kurven, der Parameterbereich steht außerhalbder Liste mit den einzelnen Komponenten.

> with(LinearAlgebra): with(linalg): with(plots):

> alpha := t -> <cos(t),sin(t),cos(5*t)>;

α := t → 〈cos(t), sin(t), cos(5 t)〉> spacecurve([alpha(t)[1],alpha(t)[2],alpha(t)[3]], t=0..2*Pi,

> numpoints=100, axes=normal);

Anstatt die einzelnen Komponenten einzeln aufzufuhren, ist es auch moglich, denVektor mit dem Befehl convert in eine Liste umzuwandeln:

> al:=convert(alpha(t),list);

al := [cos(t), sin(t), cos(5 t)]

> spacecurve(al, t=0..2*Pi, numpoints=100, axes=normal);

49

50 KAPITEL 4. RAUMKURVEN

Plot: 401.eps

Wenn Sie mit der linken Maustaste in die Graphik klicken, erscheinen in der Menulei-ste neue Menupunkte, mit denen sich die Darstellung verandern lasst. So lassen sichFarben und Perspektiven andern und es lassen sich Koordinatenachsen ein- undausblenden. Probieren Sie einige Einstellungen aus, um sich mit der Bedienung ver-traut zu machen. Alternativ konnen Sie mit der rechten Maustaste in die Graphikklicken, dann erscheint ein Pop-up-Menu. Diese Funktion ist recht storungsanfalligund fuhrt leicht zum Absturz von MAPLE. Sie sollten deshalb zuvor ihr Arbeitsblattabspeichern.

Sie konnen das Objekt auch drehen indem Sie die linke Maustaste gedruckt haltenund dabei die Maus bewegen.

Die Darstellung mit dem Befehl spacecurve hat den Nachteil, dass die Linienrecht dunn sind, und der raumliche Eindruck oft recht unbefriedigend. Eine bessereraumliche Darstellung erhalt man oft mit dem Befehl tubeplot, der die Kurve als

”Schlauch“ darstellt. Der Radius des Schlauches wird durch den Parameter radius

angegeben. Die Voreinstellung ist 1.> tubeplot(al, t=0..2*Pi, numpoints=100, style=patchnogrid,

> radius=.04);

Aufgaben

Aufgabe 4.1.1 Zeichnen Sie die Schraubenlinie (Helix)

αa,b(t) = (a cos t, a sin t, bt)

und die Kurveα(t) = (t, t2, t3) .

4.2. GEOMETRISCHE GROSSEN 51

Aufgabe 4.1.2 Berechnen und zeichnen Sie dreidimensionale Lissajous-Kurven.Diese Kurven entstehen als Bahnkurve eines Teilchens, das gleichzeitig und un-abhangig in allen drei Koordinatenrichtungen mit verschiedenen Frequenzen umden Nullpunkt schwingt. Nehmen Sie an, dass jede der Schwingungen harmonischist, d. h. durch die Funktion sin(ωit) fur i = 1, 2, 3 beschrieben wird. Probieren Sieverschiedene Werte fur ω1, ω2 und ω3.

Aufgabe 4.1.3 Zeichnen Sie die Raumkurven

αr1,r2,a,b(t) =((

r1 + r2 cos(at))sin(bt),

(r1 + r2 cos(at)

)cos(bt), r2 sin(at)

)fur verschiedene Parameterwerte. Achten Sie darauf, genugend Punkte berechnenzu lassen. Was passiert, wenn zuwenig Punkte berechnet werden? Welchen Einflusshaben die Parameter auf die Form der Kurve? Auf welcher Flache im Raum bewegtsich die Kurve?

4.2 Geometrische Großen

Nachdem im letzten Kapitel beschrieben wurde, wie ebene Kurven mit MAPLEuntersucht werden konnen, sollen Sie nun in diesem Kapitel analoge Methoden aufRaumkurven anwenden. Dazu werden hier nocheinmal kurz alle Definitionen zusam-mengefasst, die in diesem Zusammenhang von Bedeutung sind.

Es sei α : (a, b) → R3 eine nach Bogenlange parametrisierte regulare Kurve. Wirdefinieren folgende drei Vektorfelder langs dieser Kurve:

• das Tangentialvektorfeld tα = α′,

• das Hauptnormalenvektorfeld nα = α′′

‖α′′‖

• und das Binormalenvektorfeld bα = tα × nα.

Dabei setzen wir voraus, dass die zweite Ableitung der Kurve existiert, und dassin jedem Punkt die erste und die zweite Ableitung der Kurve linear unabhangigsind. Fur diese drei Vektorfelder, auch Frenetsches Dreibein genannt, gelten dieFrenetschen Formeln:

t′α = κα nα,n′

α = −κα tα + τα bα,b′

α = −τα n.

52 KAPITEL 4. RAUMKURVEN

Die hierin vorkommenden Funktionen sind die Krummung κα = ‖α′′‖ und die Tor-sion (Windung) τα der Kurve α. Die Ebene, die durch den Punkt α(t) geht und vonden Vektoren tα(t) und nα(t) aufgespannt wird, heißt die Schmiegebene, die durchtα(t) und bα(t) aufgespannte Ebene heißt rektifizierende Ebene, und die durch nα(t)und bα(t) aufgespannte Ebene heißt Normalenebene.

Es ist zwar immer moglich, eine beliebige Kurve nach der Bogenlange zu parame-trisieren, praktisch ist diese Parametrisierung jedoch im allgemeinen nicht mehrmit MAPLE bearbeitbar. Aus diesem Grund sollen hier auch die Moglichkeitenangegeben werden, die oben definierten Großen bei beliebiger Parametrisierung zuberechnen.

Den Einheitstangentialvektor tα erhalten wir durch Normierung des Ableitungsvek-tors:

tα(t) =α′(t)

‖α′(t)‖.

Da die zweite Ableitung von α nicht notwendigerweise senkrecht auf t steht, erhaltenwir nα entweder durch Ableiten der Einheitsnormalen tα oder indem wir das Gram-Schmidtsche Orthonormalisierungsverfahren auf α′′ anwenden:

nα(t) =t′α(t)∥∥t′α(t)

∥∥ =α′′(t)−

(α′′(t) · tα(t)

)tα(t)∥∥α′′(t)−

(α′′(t) · tα(t)

)tα(t)

∥∥ .

Den Binormalenvektor erhalten wir wie im Falle der Parametrisierung nach Bo-genlange durch

bα(t) = tα(t)× nα(t) .

Die Formeln fur die Krummung und die Torsion sind

κα(t) =‖α′(t)× α′′(t)‖

‖α′(t)‖3

und

τα(t) =

(α′(t)× α′′(t)

)· α′′′(t)

‖α′ × α′′(t)‖2=

det(α′(t), α′′(t), α′′′(t)

)‖α′ × α′′(t)‖2

.

Einige der im vorigen Kapitel definierten MAPLE-Befehle konnen Sie auch furRaumkurven verwenden, z. B. eukl norm und normier. Die Definition des Ablei-tungsoperators abl benutzt jedoch explizit, dass die Vektoren zwei Komponentenhaben. Wir passen den Befehl an und machen die Zahl der Komponenten variabel.Bei einem Vektor V, der mit dem Datentyp Vector des LinearAlgebra-Pakets rea-lisiert ist, erhalt man die Zahl der Komponenten mit dem Befehl op(1,V). Fur die

4.2. GEOMETRISCHE GROSSEN 53

Ausgabe liefert der Befehl Vector(n, i -> w[i]) einen Vektor mit n Komponen-ten, die durch die Liste w[1], . . . , w[n] gegeben sind. (Naheres dazu finden Sie unter?Vector in der MAPLE-Hilfe).

> abl:=proc(alpha)

> local t, a, b, i, n;

> n:=op(1,alpha(t));

> for i from 1 to n do

> a[i]:=unapply(alpha(t)[i],t);

> b[i]:=D(a[i])

> od;

> t-> Vector(n, i-> b[i](t))

> end:

> abl(alpha)(t); −sin(t)cos(t)

−5 sin(5 t)

Aufgaben

Aufgabe 4.2.1 Definieren Sie die eingefuhrten Begriffe in MAPLE. Gehen Siedabei wie im letzten Kapitel vor und definieren Sie alle Begriffe als Funktion derKurve.

Wenden Sie Ihre Definitionen auf die Schraubenlinie (Helix)

αa,b(t) = (a cos t, a sin t, bt)

und auf die Kurve

α(t) = (t, t2, t3)

an.

Aufgabe 4.2.2 Der Schnitt einer Zylinderflache mit Radius a um die x-Achsemit einer Zylinderflache mit Radius b um die y-Achse besteht fur a 6= b aus zweigeschlossenen Kurven. Stellen Sie eine dieser Kurven in parametrisierter Form dar.Fuhren Sie dabei diese Berechnungen von Hand durch. Berechnen Sie anschließendmit MAPLE Krummung und Torsion dieser Kurve.

54 KAPITEL 4. RAUMKURVEN

Aufgabe 4.2.3 Sie konnen einen Vektor V in einem Kurvenpunkt α(t) darstellen,indem Sie die Strecke von α(t) nach α(t)+V zeichnen. (Eine Pfeilspitze hinzuzufugenware zuviel der Muhe.)

Zeichnen Sie in dem Bild der Schraubenlinie (Aufgabe 4.1.1) in mehreren Kurven-punkten das zugehorige Frenetsche Dreibein ein.

4.2. GEOMETRISCHE GROSSEN 55

Einschub: Das diffgeo-Paket

Das diffgeo-Paket stellt Befehle fur die Elementare Differentialgeometrie zur Verfugung.Es gehort nicht zur Standardausstattung von MAPLE, sondern wurde von von ei-ner Arbeitsgruppe an der Universitat Koln unter der Leitung von Prof. H. Reckziegelentwickelt. Aus dieser Arbeitsgruppe heraus ist auch ein Buch entstanden:

Helmut Reckziegel, Markus Kriener, Knut Pawel, Elementare Differen-tialgeometrie mit Maple, Vieweg 1998

Dieses Buch enthalt eine Einfuhrung in die Elementare Differentialgeometrie, gleich-zeitig beschreibt es aber auch, wie MAPLE eingesetzt werden kann zur Losung vonProblemen aus der Elementare Differentialgeometrie (ganz ahnlich, wie es in diesemPraktikum geschieht). Die dabei entwickelten MAPLE-Prozeduren bilden den Kerndes diffgeo-Pakets, das auf der dem Buch beiliegenden CD-ROM mitgeliefert wird.

Das Buch ist in der Bibliothek der Abteilung fur Didaktik der Mathematik vorhan-den, fur die Dauer dieses Praktikums steht es jedoch in der Bibliothek des Mathe-matischen Instituts im Semesterapparat. Sie konnen dieses Buch in der Bibliothekbenutzen, aber nicht ausleihen.

Die Dateien der CD-ROM, sind hier auf dem Rechnerpool installiert, im Verzeichnis/project/skursc/diffgeo. Neben dem Macro-Paket selbst enthalt das Verzeich-nis auch MAPLE-Arbeitsblatter, die die Anwendung des Pakets demonstrieren, ins-besondere die Arbeitsblatter demo kurven.mws und demo flaechen.mws, die eineEinfuhrung in den Umgang mit dem Paket enthalten.

Das Paket wird in MAPLE mit dem Befehl with(diffgeo): aufgerufen. Da diezugehorige Datei sich aber nicht im Verzeichnis mit den Standard-MAPLE-Dateienbefindet, muss man MAPLE zuerst mitteilen, wo es suchen soll. Dies geschieht mitdem Befehl

> Pfadname:=‘/project/skursc/diffgeo‘:

> libname:=Pfadname,libname:

Sie mussen außerdem die Pakete plots und linalg laden. Damit Sie sich das nichtmerken mussen, gibt es in dem Verzeichnis /project/skursc/inbox das Arbeits-blatt start-diffgeo.mws, das diese Befehle enthalt. Wenn Sie das Paket geladenhaben, dann erhalten Sie die MAPLE-Hilfe zu diesem Paket wie ublich mit demBefehl ?diffgeo.

Fur uns soll dieses Paket nur eine Erganzung darstellen. Sie brauchen es nichtzu benutzen. Es lohnt sich aber, den Umgang mit diesem Paket zu erlernen. Das

56 KAPITEL 4. RAUMKURVEN

Paket enthalt auch Befehle, die dieselbe Funktion haben, wie Befehle, die Sie imLauf des Praktikums in den Aufgaben selbst definieren sollen, z. B. Befehle fur dieKrummung und Torsion von Raumkurven oder Einheitstangenten-, Hauptnormalen-und Binormalenvektorfeld. Diese Befehle sollen Sie beim Losen der Aufgaben selbst-verstandlich nicht benutzen. Ansonsten konnen Sie die Befehle des Pakets auch furdie Losung der Aufgaben des Praktikums benutzen.

Kurven (und Flachen) werden in dem Paket wie hier im Praktikum als Funktionenmodelliert. Fur Vektoren wird aber weder der Datentyp vector aus dem linalg-Paket, noch der Datentyp Vector aus dem LinearAlgebra-Paket benutzt. Sie wer-den vielmehr als Liste (list) dargestellt, Matrizen als Liste von Listen (namlich alsListe der Zeilen).

> V:= [a,b,c]; A:= [[a,b],[c,d]];

V := [a, b, c]

A := [[a, b], [c, d]]

Dies hat den Vorteil, dass man nun den Befehl unapply benutzen kann, um vektor-wertige Funktionen zu definieren:

> alpha := t -> [t,t^2,t^3];

α := t → [t, t2, t3]

> beta := unapply(diff(alpha(t),t),t);

β := t → [1, 2 t, 3 t2]

> beta(s);

[1, 2 s, 3 s2]

Der Nachteil ist, dass man auf diese”Vektoren“ i. A. nicht die Befehle des linalg-

Pakets anwenden kann. Deshalb wird im diffgeo-Paket fur die wichtigsten solchenBefehle Ersatz bereitgestellt, insbesondere die Befehle listscalarmul fur die Mul-tiplikation von Vektoren bzw. Matrizen mit Skalaren, listmatadd fur die Additionvon Matrizen bzw. Vektoren und listmultiply fur die Matrizenmultiplikation.

Zusatzlich zu der Sammlung von Befehlen zur Kurven- und Flachentheorie enthaltdas diffgeo-Paket eine Fulle von Beispielkurven und -flachen. Die Ellipse mit denParametern a, b erhalten Sie zum Beispiel mit dem Befehl

> Ellipse(a,b);

t → [cos(t) a, b sin(t)]

Beachten Sie, dass die Namen der Befehle zu geometrischen Großen englisch sindund kleingeschrieben werden, die Namen der Beispielkurven und -flachen jedochdeutsch sind und mit Großbuchstaben beginnen. Naheres dazu finden Sie in der

4.2. GEOMETRISCHE GROSSEN 57

MAPLE-Hilfe mit dem Befehl ?diffgeo.

Beachten Sie auch, dass die Funktionswerte dieser Kurven und Flachen vom Typlist sind, und nicht wie die hier im Praktikum erstellten Beispiele vom Typ vector

oder Vector.

Man kann mit Hilfe des Befehls convert Vektoren und Matrizen von einem Typ inVektoren bzw. Matrizen eines anderen Typs umwandeln. Beispiele:

> am:=convert(A,matrix);

am :=

[a bc d

]> convert(am,listlist);

[[a, b], [c, d]]

> VV:=convert(V,Vector);

VV :=

abc

> v:=convert(VV,vector);

v := [a, b, c]

Auf diese Weise kann man Prozeduren, die fur die Arbeit mit dem einen Typ ge-schrieben sind auch fur andere Typen benutzen. Beispiel:

> acht := t-> <sin(t) , sin(t)*cos(t)>;

acht := t → 〈sin(t), cos(t) sin(t)〉> acht2 := t -> convert(acht(t),list);

acht2 := t → convert(acht(t), list)

> curvature(acht2);

t → − sin(t) (2 cos(t)2 + 1)

(−3 cos(t)2 + 4 cos(t)4 + 1)(3/2)

Hier ist acht die in Abschnitt 3.3 definierte Achtkurve, deren Werte als Vektorenvom Typ Vector aus dem LinearAlgebra-Paket realisiert sind, wahrend der Be-fehl arclength aus dem diffgeo-Paket als Eingabe eine Abbildung verlangt, derenFunktionswerte vom Typ list sind.

58 KAPITEL 4. RAUMKURVEN

Kapitel 5

Flachen im dreidimensionalenRaum

5.1 Die Darstellung parametrisierter Flachen mit

MAPLE

In diesem Abschnitt wollen wir uns mit dem Studium parametrisierter Flachen imdreidimensionalen Raum beschaftigen. Diese werden gegeben durch eine offene Men-ge U ⊂ R2 und eine differenzierbare Abbildung X : U → R3. Wir sagen X ist regularim Punkt q = (u, v) ∈ U , falls die Ableitung DX(q) von X im Punkt q den (maxi-mal moglichen) Rang 2 besitzt. Ist X in jedem Punkt regular, so sprechen wir voneiner regular parametrisierten Flache.

Ahnlich wie wir Kurven unter MAPLE definiert haben, lassen sich auch parame-trisierte Flachen mit MAPLE beschreiben. Die Abbildungen besitzen diesmal zweiArgumente und liefern als Ergebnis einen dreidimensionalen Vektor. Wir benutzenwieder den Datentyp Vector aus dem LinearAlgebra-Paket.

Zur Definition einer Kugel in MAPLE gibt man zum Beispiel

> with(linalg): with(LinearAlgebra): with(plots):

> Kugel:=(u,v)-> <cos(v)*cos(u), sin(v)*cos(u), sin(u)>;

Kugel := (u, v) → 〈cos(v) cos(u), sin(v) cos(u), sin(u)〉

ein. Auf welchem Definitionsbereich ist die Parametrisierung regular ?

Die folgende Formel liefert ein dreidimensionales Analogon zur Astroide:

59

60 KAPITEL 5. FLACHEN IM DREIDIMENSIONALEN RAUM

> Astroide3d:=(u,v) -> <cos(v)^3*cos(u)^3, sin(v)^3*cos(u)^3,

> sin(u)^3>;

Astroide3d := (u, v) → 〈cos(v)3 cos(u)3, sin(v)3 cos(u)3, sin(u)3〉

Uberlegen Sie sich auch an diesem Beispiel, fur welchen Definitionsbereich die Pa-rametrisierung regular ist und was in den singularen Punkten passiert.

Zur graphischen Darstellung parametrisierter Flachen dient der Befehl plot3d. DieEingabe

> plot3d(Kugel(u,v), u=-Pi/2..Pi/2, v= 0..3*Pi/2);

ergibt beispielsweise folgende Graphik:

Plot: 5.101.eps

Sie konnen auch hier wieder den Parameter scaling verwenden, um der Kugel eineKugelform zu geben.

Wie schon im Kapitel uber Raumkurven erwahnt wurde, erhalten Sie, indem Sie mitder linken Maustaste in die Graphik klicken, eine Reihe von Menupunkten, mit derenHilfe sich die Darstellung verandern lasst. Zu den schon beschriebenen Moglichkeitenkommen noch diejenigen hinzu, die Flache wahlweise aus kleinen Flachenstucken zu-sammengesetzt oder als Gittermodell darzustellen. Außerdem hat man die Wahl, ob

5.1. DIE DARSTELLUNG PARAMETRISIERTER FLACHEN MIT MAPLE 61

verdeckte Linien ausgeblendet oder gezeichnet werden. Experimentieren Sie etwasmit den verschiedenen Menupunkten, um sich mit den verschiedenen Darstellungs-weisen vertraut zu machen.

Sie konnen auch weitere Optionen direkt im Plot-Befehl angeben. Naheres findenSie in der MAPLE-Hilfe mit ?plot3d,option.

> plot3d(Astroide3d(u,v), u=-Pi/2..Pi/2, v=

> 0..2*Pi,scaling=constrained,

> style=patchnogrid, axes=boxed, projection=.9,lightmodel=light4,

> orientation=[20,70]);

Plot: 5.102.eps

Aufgaben

Aufgabe 5.1.1 Machen Sie sich ein Bild der folgenden Flachen X : R2 → R3.Schranken Sie den Definitionsbereich dabei geeignet ein.

62 KAPITEL 5. FLACHEN IM DREIDIMENSIONALEN RAUM

1. Der Affensattel

X(u, v) =(u, v, u3 − 3uv2

),

2. Das Helikoid

X(u, v) =(v sin u, v cos u, u

),

3. Die Kleinsche Flasche

X(u, v) =((

a + cos(

u2

)sin v − sin

(u2

)sin 2v

)cos u,(

a + cos(

u2

)sin v − sin

(u2

)sin 2v

)sin u,

sin(

u2

)sin v + cos

(u2

)sin 2v

)4. Die Enneperflache

X(u, v) =(u− u3

3+ uv2, v − v3

3+ u2v, u2 − v2

)5. Die Steinersche romische Flache, die eine Immersion der projektiven Ebene in

den R3 darstellt,

X(u, v) =(sin 2u cos2 v, sin u sin 2v, cos u sin 2v

)6. Die Kreuzhaube, die auch eine Immersion der projektiven Ebene in den R3

darstellt,

X(u, v) =(

12sin u sin 2v, sin 2u cos2 v, cos 2u cos2 v

)Aufgabe 5.1.2 Ist α : (a, b) → R3 eine regulare Raumkurve, deren Krummungnirgends verschwindet, so wird die Rohrenflache vom Radius r > 0 um α definiertdurch

Xα,r(t, ϕ) := α(t) + r cos(ϕ)nα(t) + r sin(ϕ)bα(t) .

Schreiben Sie eine Prozedur, die einem Parameter r > 0 und einer Raumkurve α diezugehorige Rohrenflache zuordnet.

Zeichnen Sie ein paar Beispiele und vergleichen Sie mit der Ausgabe des Befehlstubeplot.

Erstellen Sie ein Bild, das eine Raumkurve α zusammen mit einer der zugehorigenRohrenflache zeigt, und ein Bild, das zu einer Kurve mehrere Rohrenflachen zuverschiedenen Radien zeigt.

5.2. TANGENTIALEBENE UND NORMALENVEKTOR 63

Aufgabe 5.1.3 Ist α eine Kurve in der x-y-Ebene, so nennt man die Flache,die man erhalt, indem man α um die x-Achse rotieren lasst, die von α erzeugteRotationsflache.

Schreiben Sie eine Prozedur, die einer ebenen Kurve die von ihr erzeugte Rotations-flache zuordnet.

Zeichnen Sie ein paar Beispiele, insbesondere den von der Kurve

α(t) := (cos t, 2 + sin t)

erzeugten Rotationstorus.

5.2 Tangentialebene und Normalenvektor

In diesem Abschnitt werden einige erste geometrischen Großen parametrisierterFlachen kurz vorgestellt. Sei U eine offene Teilmenge des R2 und X : U → R3 eineregular parametrisierte Flache. Wir bezeichnen die Koordinaten im R2 mit u und v.Fur die partiellen Ableitungen von X in u- und v-Richtung schreiben wir

D1X(u, v) = X1(u, v) = Xu(u, v) =∂X

∂u(u, v) = DX(u, v)e1

und

D2X(u, v) = X2(u, v) = Xv(u, v) =∂X

∂v(u, v) = DX(u, v)e2 .

Die Regularitat von X im Punkt (u, v) bedeutet gerade, dass X1(u, v) und X2(u, v)linear unabhangig sind.

Die Tangentialebene von X im Punkt X(u, v) ist die affine Ebene

T(X, (u, v)

):= X(u, v) + DX(u, v)(R2)

={X(u, v) + rX1(u, v) + sX2(u, v)

∣∣ r, s ∈ R}

.

Es gibt genau einen Vektor der Lange 1, der senkrecht auf den TangentialvektorenX1(u, v) und X2(u, v) steht und zusammen mit ihnen die gleiche Orientierung wiedie Standardbasis des R3 besitzt. Diesen Vektor bezeichnen wir als Normalenvektorder Flache im Punkt X(u, v). Er berechnet sich aus der Formel

N(u, v) := NX(u, v) :=X1(u, v)×X2(u, v)∥∥X1(u, v)×X2(u, v)

∥∥ .

64 KAPITEL 5. FLACHEN IM DREIDIMENSIONALEN RAUM

Um diese Großen in MAPLE zu realisieren benotigen wir partielle Ableitungen einervektorwertigen Abbildung. Partielle Ableitungen gewohlicher Funktionen erhalt manmit dem Operator D, wobei die Indizes der Variablen, nach denen abgeleitet werdensoll, in einer Liste in eckigen Klammern angegeben werden, vgl. Kapitel 2. FolgendeProzedur leistet dasselbe fur vektorwertige Funktionen von zwei Variablen. (Fur dieAbleitung von Listen-wertigen Funktionen leistet der Befehl del aus dem diffgeo-Paket dasselbe wie D fur gewohnliche Funktionen).

> part_abl:= proc(alpha)

> local var, a, b, i, n;

> n:=op(1,alpha(u,v));

> for i from 1 to n do

> a[i]:=unapply(alpha(u,v)[i],u,v);

> b[i]:=D[op(procname)](a[i])

> od;

> (u,v)-> Vector(n, i-> b[i](u,v))

> end:

Hier ist eine Erklarung notwendig. Die Liste mit den Indizes wird von MAPLE nichtals Argument der Prozedur, sondern als Teil des Namens behandelt. Innerhalb derProzedur wird auf sie mit dem Befehl op(procname) zugegriffen.

Beispiel (die Definition von Kugel werde aus Abschnitt 5.1 ubernommen):

> x1:=part_abl[1](Kugel)(u,v); x2:=part_abl[2](Kugel)(u,v);

x1 :=

−cos(v) sin(u)−sin(v) sin(u)

cos(u)

x2 :=

−sin(v) cos(u)cos(v) cos(u)

0

> x12:= part_abl[1,2](Kugel)(u,v);

x12 :=

sin(v) sin(u)−cos(v) sin(u)

0

5.3. DIE ERSTE FUNDAMENTALFORM 65

Aufgaben

Aufgabe 5.2.1 Erstellen Sie Prozeduren, die einer parametrisierten Flache X dietangentialen Vektorfelder X1 und X2 und das Normalenvektorfeld NX zuordnen.

Berechnen Sie das Normalenvektorfeld der Kugel, des Affensattels und des Helikoids.Prufen Sie Ihre Definitionen. Beispielsweise mussen Normalenvektor und Ortsvektorder Kugel mit Radius 1 bis auf das Vorzeichen ubereinstimmen. Versuchen Sie nachMoglichkeit, die Ausdrucke mit simplify zu vereinfachen.

Berechnen Sie eine Formel fur das Normalenvektorfeld einer Rotationsflache (Auf-gabe 5.1.3) und einer Flache, die als Graph einer Funktion entsteht.

Aufgabe 5.2.2 Erstelle Sie eine Prozedur, die einer parametrisierten Flache X undeinem Punkt (u, v) ∈ U ihres Parameterbereichs die Tangentialebene T

(X, (u, v)

)zuordnet.

Erstellen Sie ein Bild, das die Sattelflache

X(u, v) := (u, v, u2 − v2)

zusammen mit ihrer Tangentialebene im Nullpunkt darstellt.

Machen Sie dasselbe fur den Affensattel aus Aufgabe 5.1.1. Zeichnen Sie noch einpaar weitere Tangentialebenen ein.

Aufgabe 5.2.3 Erstellen Sie ein Bild einer Flache ihrer Wahl, in das Sie an mehre-ren Stellen die Tangentialvektoren X1 und X2 und den Normalenvektor einzeichnen.

Zeichnen Sie an einer dieser Stellen (u0, v0) die Parameterlinien u 7→ X(u, v0) undv 7→ X(u0, v) ein.

5.3 Die erste Fundamentalform

Wieder bezeichne U eine offene Teilmenge des R2 und X : U → R3 ein regularparametrisiertes Flachenstuck. Mit Hilfe von X und dem Standardskalarprodukt desR3 wird jedem Punkt (u, v) ∈ U wie folgt ein Skalarprodukt I(u,v) auf R2 zugeordnet.

I(u,v)(w, w) =(DX(u, v)w

)·(DX(u, v)w

)fur w, w ∈ R2

Die Abbildung I, die (u, v) ∈ U das Skalarprodukt I(u,v) zuordnet, heißt erste Fun-damentalform von X. Fur die Matrixdarstellung(

g11(u, v) g12(u, v)g21(u, v) g22(u, v)

)=

(E(u, v) F (u, v)F (u, v) G(u, v)

)

66 KAPITEL 5. FLACHEN IM DREIDIMENSIONALEN RAUM

von I(u,v) bezuglich der Standardbasis e1, e2 des R2 erhalt man

gij(u, v) = I(u,v)(ei, ej) = DiX(u, v) ·DjX(u, v) = Xi(u, v) ·Xj(u, v) (i, j = 1, 2) ,

also

E(u, v) = X1(u, v) ·X1(u, v) ,

F (u, v) = X1(u, v) ·X2(u, v) ,

G(u, v) = X2(u, v) ·X2(u, v) .

(Dass all diese Großen von X abhangen wird hier in der Notation nicht berucksichtigt.)

Ist α : [a, b] → U eine Kurve im Parameterbereich U , so konnen wir die Bildkurveα := X ◦ α : [a, b] → X(U) ⊂ R3 betrachten. Die Lange von α erhalt man dann,indem man die Lange von α bezuglich der ersten Fundamentalform I berechnet,d. h. durch die Formel

L(α) = LI(α) =

∫ b

a

√‖α′(t)‖ dt =

∫ b

a

√Iα(t)(α′(t), α′(t)) dt

Ist X : U → R ein regulares Flachenstuck, so berechnet man seinen Flacheninhaltdurch

A(X) =

∫∫U

√det

(gij(u, v)ij

)du dv =

∫∫U

√E(u, v) G(u, v)− F (u, v)2 du dv

=

∫∫U

∥∥X1(u, v)×X2(u, v)∥∥ du dv

Aufgaben

Aufgabe 5.3.1 Modellieren Sie die erste Fundamentalform in MAPLE. BerechnenSie die erste Fundamentalform der Kugel, des Affensattels und des Helikoids.

Aufgabe 5.3.2 Die Mercator-Parametrisierung der Sphare ist gegeben durch

XMerc(u, v) :=( cos u

cosh v,

sin u

cosh v, tanh v

).

Berechnen Sie die erste Fundamentalform von X und zeigen Sie, dass XMerc winkel-treu ist (d. h., dass I(u,v) in jedem Punkt (u, v) ein Vielfaches des Standardskalar-produkts ist).

Ist α eine Gerade in U = R2, so heißt ihre Bildkurve α = XMerc ◦ α Loxodrome.

Erstellen Sie ein Bild, das eine Sphare in der Mercator-Parametrisierung und eineLoxodrome zeigt. Berechnen Sie die Lange einer Loxodrome.

5.4. REGELFLACHEN 67

Aufgabe 5.3.3 Erstellen Sie eine Prozedur, die den Flacheninhalt eines parame-trischen Flachenstucks X berechnet.

Testen Sie diese Prozedur an verschiedenen Beispielen, insbesondere an verschiede-nen Parametrisierungen der Sphare.

5.4 Regelflachen

In diesem Abschnitt soll eine Klasse von Flachen betrachtet werden, die sich ausgegebenen Kurven im Raum herleiten lassen: die Regelflachen. Man benotigt zurDefinition einer Regelflache eine differenzierbare Kurve α : I → R3 und ein differen-zierbares Vektorfeld V : I → R3. Die Regelflache ist die Vereinigung aller Geraden,die in einem Punkt α(t) die Richtung V (t) besitzen. Ihre Parametrisierung ist alsodurch die Formel

X(u, v) = α(u) + v V (u)

gegeben. Einfache Beispiele fur Regelflachen sind der Zylinder und das Helikoid.Weitere Beispiele finden Sie in der folgenden Aufgabe.

Aufgabe 5.4.1 Definieren Sie die Regelflachen in MAPLE. Testen Sie Ihre Defini-tionen an den folgenden Beispielen und zeichnen Sie die Flachen mit MAPLE.

1. Das einschalige elliptische Hyperboloid ist folgendermaßen als Regelflache de-finiert: die Kurve α ist die Parametrisierung einer Ellipse in der x, y-Ebene(vgl. Aufgabe 3.1.1) und das Vektorfeld V wird durch V (t) = α′(t) + (0, 0, c)gegeben.

2. Das Pluckersche Konoid wird durch die Definitionen α(t) = (0, 0, cos t sin t)und durch das Vektorfeld V (t) = (cos t, sin t, 0) beschrieben.

Eine wichtige Klasse von Regelflachen sind die Tangentenflachen. Hier wird als Vek-torfeld V die Ableitung der Kurve α gewahlt. Wie man schon an den obigen Bei-spielen sehen konnte, ist die Parametrisierung einer Regelflache nicht immer regular.Bei den Tangentenflachen treten zum Beispiel immer Singularitaten in den Punktender Kurve, also fur v = 0, auf.

Aufgabe 5.4.2 Implementieren Sie Tangentenflachen in MAPLE und machen Siesich ein Bild der Tangentenflachen, die durch folgende Kurven definiert werden:

1. die Kurve α(t) = (t, t2, t3),

2. die Helix.

68 KAPITEL 5. FLACHEN IM DREIDIMENSIONALEN RAUM

Kapitel 6

Die zweite Fundamentalform undKrummungen

6.1 Die zweite Fundamentalform

Im Abschnitt 5.2 wurde das Normalenvektorfeld N einer regular parametrisiertenFlache X : U ⊂ R2 → R3 definiert. Durch die Ableitung von N wird die zweite Fun-damentalform II von X definiert. Diese ordnet jedem (u, v) ∈ U eine symmetrischeBilinearform II (u,v) auf R2 zu durch die Festsetzung

II (u,v)(w, w) = −(DN(u, v) w

)·(DX(u, v) w

), w, w ∈ R2

Aus N(u, v) ·(DX(u, v) w

)= 0 folgt durch Ableiten:

II (u,v)(w, w) = N(u, v) ·(D2X(u, v)(w, w)

)Hieraus folgt die Symmetrie von II (u,v). Bezuglich der Standardbasis e1, e2 wirdII (u,v) durch die symmetrische Matrix(

h11(u, v) h12(u, v)h21(u, v) h22(u, v)

)=

(l(u, v) m(u, v)m(u, v) n(u, v)

)beschrieben, wobei die Funktionen hij bzw. l, m und n durch

hij(u, v) = −DiN(u, v) ·DjX(u, v) = N(u, v) ·DiDjX(u, v)

bzw.

l(u, v) = −Nu(u, v) ·Xu(u, v) = N(u, v) ·Xuu(u, v) ,

m(u, v) = −Nu(u, v) ·Xv(u, v) = −Nv(u, v) ·Xu(u, v) = N(u, v) ·Xuv(u, v) ,

n(u, v) = −Nv(u, v) ·Xv(u, v) = N(u, v) ·Xvv(u, v)

69

70 KAPITEL 6. DIE ZWEITE FUNDAMENTALFORM

gegeben sind. Nach einem Satz der Linearen Algebra existiert zu (u, v) ∈ U eineeindeutig bestimmte lineare Selbstabbildung L(u,v) : R2 → R2 mit

II (u,v)(w, w) = I(u,v)(L(u,v)w, w) fur w, w ∈ R2 ,

die Weingartenabbildung von X in (u, v). Ihre Matrix(L11 L12

L21 L22

)lasst sich aus den Matrizen der ersten und zweiten Fundamentalform berechnen.Aus der Definition ergibt sich

hij =2∑

k=1

gikLkj

bzw. in Matrixschreibweise(l mm n

)=

(E FF G

) (L11 L12

L21 L22

),

woraus sich(L11 L12

L21 L22

)=

(E FF G

)−1 (l mm n

)=

(g11 g12

g21 g22

)−1 (h11 h12

h21 h22

)(6.1)

ergibt. Obwohl die Weingartenabbildung selbstadjungiert ist, braucht ihre Matrixnicht symmetrisch zu sein, da die Standardbasis e1, e2 im Allgemeinen bezuglichI(u,v) keine Orthonormalbasis bildet.

Aufgaben

Aufgabe 6.1.1 Definieren Sie die zweite Fundamentalform und ihre Komponentenund die Weingartenabbildung fur allgemeine Flachen in MAPLE.

Leiten Sie die zweite Fundamentalform und die Matrix der Weingartenabbildungvon Kugel, Torus, Affensattel und Helikoid her. Uberprufen Sie Ihre Definitionenanhand der ersten und der zweiten Fundamentalform der Kugel. Sie sollten bis aufdas Vorzeichen identisch sein.

Aufgabe 6.1.2 Leiten Sie mit MAPLE allgemeine Formeln fur die zweiten Funda-mentalformen einer beliebigen Rotationsflache und einer Flache, die ein Graph einerbeliebigen Funktion ist, her.

6.2. KRUMMUNGEN 71

6.2 Krummungen

Nach der Vorarbeit des letzten Abschnitts ist es nun einfach, die verschiedenenKrummungsbegriffe der Flachentheorie zu definieren und in MAPLE zu implemen-tieren. So sind beispielsweise die Hauptkrummungen gerade die Eigenwerte derWeingartenabbildung L. Nachdem Sie im letzten Abschnitt ein Verfahren in MAPLEimplementiert haben, mit dem Sie die Matrix der Weingartenabbildung zu einer be-liebigen Flache errechnen konnen, bietet MAPLE Ihnen jetzt die Moglichkeit, diezugehorigen Hauptkrummungen als deren Eigenwerte zu berechnen.

Das Paket linalg bietet dazu den Befehl eigenvalues. Ist A eine quadratischeMatrix vom Typ matrix, so liefert eigenvalues(A) die Eigenwerte von A als durchKommas getrennte Folge.

Das Paket LinearAlgebra bietet den Befehl Eigenvalues, der angewandt auf einequadratische Matrix vom Typ Matrix die Eigenwerte angeordnet als Komponenteneines Spaltenvektors liefert.

Aufgabe 6.2.1 Berechnen Sie die Hauptkrummungen von Torus und Helikoid sowieder Flache

X(u, v) = (u, v, uv) .

Da eigenvalues (aus dem linalg-Paket) die Eigenwerte durch ein Komma getrenntausgibt, kann der Befehl map(simplify,%); nicht direkt ausgefuhrt werden. Manmuss in diesem Fall die Eigenwerte zuerst durch eckige Klammern zu einer Listezusammengefugen, der korrekte Befehl wurde also map(simplify,[%]); lauten.

Berechnen Sie auch die Hauptkrummungen des Affensattels fur die Punkte (0, 0),(0, 1) und (1, 1) des Definitionsbereiches.

Uber die Hauptkrummungen k1 und k2 lassen sich die Gaußsche und die mittlereKrummung definieren. So wird die Gaußsche Krummung K durch

K = k1k2

und die mittlere Krummung H durch

H =1

2(k1 + k2)

definiert.

Oft liefert MAPLE fur die Hauptkrummungen selbst nach Anwendung von simplify

noch recht umfangreiche Ausdrucke. Die Großen H und K lassen sich aber auch noch

72 KAPITEL 6. DIE ZWEITE FUNDAMENTALFORM

anders berechnen. Es gilt namlich K(u, v) = det L(u,v) und H(u, v) = 12spur L(u,v).

Wir konnen also K in MAPLE auch mit dem Befehl det(matrix) bei Benutzungdes linalg-Pakets bzw. Determinant(Matrix) bei Benutzung des LinearAlgebra-Pakets aus der Matrix der Weingartenabbildung berechnen. Analog steht fur dieSpur einer Matrix der Befehl trace(matrix) bzw. Trace(Matrix) zur Verfugung.Probieren Sie die Befehle aus und vergleichen Sie sie mit den Ergebnissen von oben.

Aufgabe 6.2.2 Eine andere Moglichkeit ergibt sich aus den Berechnungen derWeingartenabbildung aus dem letzten Abschnitt: Die Großen K und H lassen sichauch direkt aus den Matrizen der ersten und zweiten Fundamentalform herleiten.Rechnen Sie durch Benutzung von Gleichung (6.1) mit MAPLE nach, dass folgendeFormeln gelten:

K =ln−m2

EG− F 2

und

H =lG− 2mF + nE

2(EG− F 2)

Hinweis: Hier geht es nur um Lineare Algebra, die tatsachliche Bedeutung vonE, F, G, l, m und n spielt keine Rolle.

Aufgabe 6.2.3 Definieren Sie die Großen K und H fur eine beliebige Flache inMAPLE.

Aufgabe 6.2.4 Berechnen Sie die Gaußsche und die mittlere Krummung des Af-fensattels. Stellen Sie die beiden Großen als Funktionen uber dem Definitionsbereichder Flache dar. Was fallt Ihnen an der Gaußschen Krummung auf?

Aufgabe 6.2.5 Leiten Sie mit MAPLE allgemeine Formeln fur die Gaußsche unddie mittlere Krummung eines Graphen einer Funktion und einer Rotationsflache her.

6.3. MINIMALFLACHEN 73

6.3 Minimalflachen

Historisch entstand der Begriff der Minimalflache aus der Frage, wie eine Flachein eine vorgegebene Randlinie eingespannt werden muss, damit ihr Flacheninhaltminimal wird. Es zeigt sich, dass dazu notwendigerweise die mittlere Krummungder Flache verschwinden muss. Aus diesem Grund werden Flachen mit verschwin-dender mittlerer Krummung als Minimalflachen bezeichnet. Es gibt Programme, diezu vorgegebenen Randkurven durch Naherungsverfahren die zugehorigen Minimal-flachen berechnen. Es wurde jedoch den Rahmen dieses Praktikums sprengen, dieseProgramme naher zu behandeln. Daher sollen in diesem Abschnitt lediglich ein paarspezielle Minimalflachen naher betrachtet werden.

Aufgabe 6.3.1 Die Enneperflache ist gegeben durch die Gleichung

X(u, v) =

(u− u3

3+ uv2, v − v3

3+ u2v, u2 − v2

).

Rechnen Sie mit MAPLE nach, dass die mittlere Krummung dieser Flache ver-schwindet. Zeichnen Sie die Flache mit MAPLE.

Aufgabe 6.3.2 Die Scherksche Minimalflache wird durch die Gleichung

X(u, v) =(u, v, ln

cos v

cos u

)definiert. Auf welcher Menge kann diese Flache definiert werden? Welche Symme-trien besitzt sie? Rechnen Sie auch bei dieser Flache mit MAPLE nach, dass diemittlere Krummung verschwindet und zeichnen Sie die Flache. Wenn Sie wollen,konnen Sie auch mehrere Zusammenhangskomponenten dieser Flache darstellen.

Ein weiterer altbekannter Vertreter einer Minimalflache ist das Helikoid

X(u, v) = (v sin u, v cos u, u) .

Auch hier konnen Sie mit MAPLE leicht nachrechnen, dass die mittlere Krummungverschwindet. Eine mit dem Helikoid verwandte Minimalflache ist das Katenoid, dasals Rotationsflache durch die folgende Gleichung definiert ist:

X(u, v) = (cosh v cos u, cosh v sin u, v) .

Wie sich ein Zylinder auf eine Ebene abrollen lasst, kann man auch ein Katenoid inein Helikoid verformen. Der Grund dafur ist dieselbe innere Geometrie der beidenFlachen. Sie konnen sich in der folgenden Aufgabe davon uberzeugen:

74 KAPITEL 6. DIE ZWEITE FUNDAMENTALFORM

Aufgabe 6.3.3 Betrachten Sie die erste Fundamentalform des Helikoids. Ver-knupfen Sie die Darstellung des Helikoids nun mit folgender Transformation desParameterbereichs:

(u, v) 7→ (u, sinh v)

und berechnen Sie erneut die erste Fundamentalform des Helikoids bezuglich dieserParametrisierung. Berechnen Sie nun zum Vergleich die erste Fundamentalform desKatenoids. Wie Sie sehen, sind die beiden Flachen lokal isometrisch.

Wir wollen nun die Deformation des Helikoids in ein Katenoid graphisch veranschau-lichen. Dazu betrachten wir folgende Familie von Flachen:

Xt(u, v) = cos t(sinh v sin u,− sinh v cos u, u) + sin t(cosh v cos u, cosh v sin u, v) .

Aufgabe 6.3.4 Rechnen Sie mit MAPLE nach, dass diese Flachen fur alle t Mi-nimalflachen sind und dass die erste Fundamentalform jeweils von t unabhangigist. Die Flachen sind also lokal isometrisch. Wie man sieht, ist die Flache X0 dasHelikoid und die Flache Xπ

2das Katenoid. Berechnen Sie mit dem MAPLE-Befehl

animate3d(..) einen Film, der die Deformation graphisch darstellt.

Kapitel 7

Christoffelsymbole undGeodatische

7.1 Christoffelsymbole

Fur viele Anwendungen in der elementaren Differentialgeometrie, darunter auch furGeodatische, spielen die zweiten Ableitungen Xij := DijX := DiDjX der FlacheX : U → R3 eine große Rolle.

Ist X im Punkt (u, v) ∈ U regular, so bilden die Vektoren X1(u, v) = D1X(u, v),X2(u, v) = D2X(u, v) und N(u, v) eine Basis des R3. Das ist im allgemeinen keineOrthonormalbasis, aber der Vektor N(u, v) ist normiert und steht senkrecht aufX1(u, v) und X2(u, v).

Der Vektor DijX(u, v) (fur i, j ∈ {1, 2}) lasst sich also als Linearkombination dieserBasisvektoren darstellen, und aus der Definition der zweiten Fundamentalform

hij(u, v) = DijX(u, v) ·N(u, v)

folgt, dass der Koeffizient bzgl. N(u, v) gerade hij(u, v) ist. Die Koeffizienten bzgl.X1(u, v) und X2(u, v) werden mit Γ1

ij(u, v) bzw. Γ2ij(u, v) bezeichnet. Es gelten also

die Strukturgleichungen

DijX(u, v) =2∑

l=1

Γlij(u, v) Xl(u, v) + hij(u, v) N(u, v) . (7.1)

Die Funktionen Γlij : U → R heißen Christoffelsymbole der Flache X. Wegen der

Symmetrie der zweiten Ableitung gilt Γlij = Γl

ji.

75

76 KAPITEL 7. CHRISTOFFELSYMBOLE UND GEODATISCHE

Es zeigt sich, dass man die Christoffelsymbole allein aus der ersten Fundamentalformberechnen kann. Es gilt:

Γlij =

1

2

2∑k=1

glk(Djgik + Digjk −Dkgij

)(7.2)

Dabei sind die glk die Komponenten der inversen Matrix von (gij), d.h.(g11 g12

g21 g22

)=

(g11 g12

g21 g22

)−1

.

Aufgabe 7.1.1 Erstellen Sie eine Prozedur, die mit Hilfe von Gleichung (7.2) dieChristoffelsymbole aus der ersten Fundamentalform berechnet.

Matrizen mit 3 Indizes sind nicht ganz so einfach und intuitiv zu implementierenund zu handhaben. Ein Moglichkeit ist etwa, die Christoffelsymbole in folgenderForm als Liste von 2 Matrizen auszugeben:

(u, v) →[(

Γ111(u, v) Γ1

12(u, v)Γ1

21(u, v) Γ122(u, v)

),

(Γ2

11(u, v) Γ212(u, v)

Γ221(u, v) Γ2

22(u, v)

)]

Eine Moglichkeit, eine Summe mit Summationsindex in Maple zu implementieren,bietet der Befehl add. Rufen Sie die Hilfe dazu auf (?add). Eine Summe mit nur 2Summanden konnen Sie naturlich auch direkt eingeben.

Prufen Sie Ihre Definitionen anhand ausgewahlter Flachen, indem Sie mit MAPLEdie rechte und die linke Seite der Strukturgleichungen (7.1) berechnen und dieCodazzi-Mainardi-Gleichungen

2∑l=1

(Γl

ijhlk − Γlikhlj

)= Djhik −Dkhij , i, j, k ∈ {1, 2}

nachrechnen.

Nach dem Theorema Egregium kann man die Gaußsche Krummung allein aus derersten Fundamentalform und den daraus abgeleiteten Christoffelsymbolen berech-nen. Damit ist die Gaußsche Krummung auch definiert, wenn kein Flachenstuck,sondern nur eine Riemannsche Metrik auf U ⊂ R2 gegeben ist, also eine Abbildung,die – wie die erste Fundamentalform eines Flachenstucks – jedem Punkt (u, v) ∈ Udes Gebiets U ein Skalarprodukt auf R2 zuordnet.

7.2. GEODATISCHE 77

Ist die Riemannsche Metrik gegeben durch die Matrix-wertige Abbildung

(u, v) 7→(

g11(u, v) g12(u, v)g21(u, v) g22(u, v)

),

so werden die Christoffelsymbole durch (7.2) definiert. Die Gaußsche Krummung Klasst sich dann z. B. durch die Gleichung

K =1

det(gij)

2∑l=1

(Γl

11,2 − Γl12,1 +

2∑n=1

(Γn

11Γln2 − Γn

12Γln1

))gl2 (7.3)

berechnen.

Aufgabe 7.1.2 Schreiben Sie eine Prozedur, die aus einer Riemannschen Metrik(gegeben etwa als eine Matrix-wertige Abbildung) deren Gaußsche Krummung be-rechnet.

Zeigen Sie damit: Fur die Gaußsche Krummung der durch

(u, v) 7→(

1 00 f(u, v)2

)

gegebenen Riemannschen Metrik gilt K =f11

f

7.2 Geodatische

Wir werden die Christoffelsymbole nun dazu verwenden, Geodatische auf parame-trisierten Flachen und auf Gebieten mit einer Riemannschen Metrik zu berechnen.Kurven auf einer parametrisierten Flache X : U ⊂ R2 → R3 beschreiben wir da-durch, dass wir eine Kurve α : I ⊂ R → U , α(t) =

(α1(t), α2(t)

), im Parameterbe-

reich angeben. Die Verkettung α = X ◦α : I → X(U) ⊂ R3 stellt dann die Bildkurveauf der Flache dar (vgl. die Aufgabe 5.3.2 zur Loxodrome).

Fur die Ableitung α′(t) von α an der Stelle t ∈ I gilt nach Kettenregel

α′(t) = α′1(t)X1

(α(t)

)+ α′

2(t)X2

(α(t)

). (7.4)

Betrachten wir die zweite Ableitung α′′(t), so liegt dieser Vektor im Allgemeinennicht in der von X1

(α(t)

)und X2

(α(t)

)aufgespannten Ebene, sondern besitzt auch

einen Anteil in Richtung des Normalenvektors N(α(t)

). Geodatische sind nun die-

jenigen Kurven auf der Flache, die soweit es moglich ist”geradeaus“ verlaufen, d. h.

78 KAPITEL 7. CHRISTOFFELSYMBOLE UND GEODATISCHE

diejenigen Kurven, fur die der tangentiale Anteil von α′′ verschwindet. Leiten wirdie Gleichung (7.4) ab und wenden die Strukturgleichung (7.1) an, so erhalten wirdie Differentialgleichung der Geodatischen:

α′′i (t) +

2∑j,k=1

Γijk

(α(t)

)α′

j(t) α′k(t) = 0 , i = 1, 2 (7.5)

Aus der Gleichung ersieht man, dass man auch von Geodatischen sprechen kann,wenn nur eine Riemannsche Metrik g auf U gegeben ist. Ist g die euklidische Stan-dardmetrik, so sind die Geodatischen Geraden. In der Vorlesung wurde gezeigt, dasseine Kurve genau dann Geodatische ist, wenn sie nach Bogenlange (bzgl. g) para-metrisiert ist und Extremale des Langenfunktionals Lg bzgl. g ist.

Außer in einfachen Fallen wie der euklidischen Standardmetrik lassen sich die Dif-ferentialgleichungen der Geodatischen im Allgemeinen nicht explizit losen. Auch einProgramm wie MAPLE ist damit in der Regel uberfordert. Allerdings ist MAPLEin der Lage, die Differentialgleichungen numerisch zu losen, d. h., es verwendet einNaherungsverfahren, um Punkte zu berechnen, die auf der Geodatischen liegen. Die-se Naherungslosung konnen wir dann von MAPLE zeichnen lassen.

Wir werden nun schrittweise eine Prozedur entwickeln, die aus einer gegebenen Rie-mannschen Metrik, Anfangspunkt und Anfangsvektor numerisch die Geodatischemit diesen Anfangsdaten berechnet. Fur konkrete parametrisierte Flachen werdenwir dann die Flache und darauf die Geodatische zeichnen lassen.

Als konkretes Beispiel benutzen wir zunachst die hyperbolische Metrik gH auf deroberen Halbebene H. Es wird hier vorausgesetzt, dass die Riemannsche Metrik alsmatrixwertige Abbildung gegeben ist, in unserem Fall also

> A:=(u,v)->Matrix([[1/v^2,0],[0,1/v^2]]);

A := (u, v) → Matrix([[1

v2, 0], [0,

1

v2]])

Weiter wird vorausgesetzt, dass eine Prozedur Christoffel definiert ist, die dieChristoffelsymbole in der in Aufgabe (7.1.1) angegebenen Form als Liste von Matri-zen ausgibt:

> Ch:=Christoffel(A):

> Ch(u,v); 0 −1

v

−1

v0

,

1

v0

0 −1

v

> Ch(u,v)[1][1,2];

7.2. GEODATISCHE 79

−1

v

Eine solche Prozedur finden Sie in der Beispieldatein 7.2.mws und in def.mws.Wenn Sie die Christoffelsymbole anders definiert haben, dann konnen Sie auch IhreDefinition benutzen und die folgenden Befehle entsprechend abandern.

Als erstes definieren wir die Differentialgleichungen der Geodatischen. Bisher hattenwir Kurven immer als vektorwertige Funktionen dargestellt. Hier ist es besser, dieGeodatische durch ein Paar (c1, c2) von Funktionen ci : I → R darzustellen.

> gl1:=(D@@2)(c[1])(t)=-add(add(Ch(c[1](t),c[2](t))[1][j,k]*

> D(c[j])(t)*D(c[k])(t),j=1..2),k=1..2);

gl1 := (D(2))(c1)(t) = 2D(c2)(t) D(c1)(t)

c2(t)> gl2:=(D@@2)(c[2])(t)=-add(add(Ch(c[1](t),c[2](t))[2][j,k]*

> D(c[j])(t)*D(c[k])(t),j=1..2),k=1..2);

gl2 := (D(2))(c2)(t) = −D(c1)(t)2

c2(t)+

D(c2)(t)2

c2(t)

Als nachstes formulieren wir die Anfangsbedingungen. Wir wahlen als Anfangspunktden Punkt (0, 3) und als Anfangsvektor den Vektor (1, 2).

> a1:= c[1](0)=0; a2:= c[2](0)=3; a3:= D(c[1])(0)=1;

> a4:=D(c[2])(0)=2;

a1 := c1(0) = 0

a2 := c2(0) = 3

a3 := D(c1)(0) = 1

a4 := D(c2)(0) = 2

Das System aus Gleichungen und Anfangswerten fassen wir zu einer Menge zusam-men:

> sys:={gl1, gl2, a1, a2, a3, a4};

sys := {c2(0) = 3, D(c2)(0) = 2, D(c1)(0) = 1,

(D(2))(c2)(t) = −D(c1)(t)2

c2(t)+

D(c2)(t)2

c2(t),

c1(0) = 0, (D(2))(c1)(t) = 2D(c2)(t) D(c1)(t)

c2(t)}

Der Befehl dsolve zum Losen von Differentialgleichung benotigt außerdem als Ein-gabe eine Menge mit den zu bestimmenden unbekannten Funktionen (als Aus-

80 KAPITEL 7. CHRISTOFFELSYMBOLE UND GEODATISCHE

drucke):

> uf:={c[1](t),c[2](t)};uf := {c2(t), c1(t)}

Nun sagen wir MAPLE, dass es das System numerisch losen soll.

> lsg:=dsolve(sys,uf,numeric);

lsg := proc(rkf45 x ) . . . end proc

Die Ausgabe besagt, daß sich MAPLE jetzt ein Unterprogramm geschrieben hat, mitdem es uns fur jeden Parameter t den entsprechenden Punkt auf der Geodatischenliefert. Probieren wir das einmal aus. Fragen wir MAPLE zum Beispiel nach demWert fur t = 2.5:

> lsg(2.5);

[t = 2.5, c1(t) = 8.66130272752819330, ∂∂t

c1(t) = 4.21305040878432635,

c2(t) = 6.15771446020731527, ∂∂t

c2(t) = −1.82083944983129253]

In dieser Form konnen wir mit dem Ergebnis noch nicht sehr viel anfangen.

Wir mochen die Geodatische zeichnen lassen. Dazu mussen wir aus dem Ergebniserst einmal die Funktionen c1 und c2 extrahieren. Wir rufen dsolve mit der Optionoutput=listprocedure auf. Auf diese Weise bekommen wir als Ausgabe eine Listevon Unterprogrammen fur die einzelnen Bestandteile der Losung.

> lsg:=dsolve(sys,uf,numeric, output=listprocedure);

lsg := [t = (proc(t) . . . end proc ), c1(t) = (proc(t) . . . end proc),∂∂t

c1(t) = (proc(t) . . . end proc), c2(t) = (proc(t) . . . end proc),∂∂t

c2(t) = (proc(t) . . . end proc)]

Der zweite und der vierte Eintrag der Liste enthalten die gesuchten Funktionen c1

und c2, allerdings in Form einer Gleichung.

> lsg[2];

c1(t) = (proc(t) . . . end proc)

Die gesuchte Funktion ist die rechte Seite der Gleichung. Diese konnen wir uns mitdem Substitutionsbefehl subs beschaffen. Durch den Befehl subs(a=b, expr) wirdim Ausdruck expr jedes Vorkommen des Ausdrucks a durch b ersetzt. Wenden wirihn in der Form subs(a=b, a), so liefert er uns die rechte Seite der Gleichung,also b.

> c1:=subs(lsg[2],c[1](t));

7.2. GEODATISCHE 81

c1 := proc(t) . . . end proc

> c2:=subs(lsg[4],c[2](t));

c2 := proc(t) . . . end proc

Die Funktionen c1 und c2 sind die gesuchten Komponentenfunktionen der Geodatischen,die wir jetzt von MAPLE zeichnen lassen:

> plot([c1(t),c2(t), t=-3..3],scaling=constrained);

Plot: 7.201.eps

Wie es sein soll, erhalten wir einen Kreisbogen.

Nun fassen wir diese Befehle zu einer Prozedur zusammen. Hierbei ubergeben wirdie Riemannsche Metrik als matrixwertige Abbildung und Anfangspunkt und An-fangsvektor jeweils als Vektor oder als Liste.

82 KAPITEL 7. CHRISTOFFELSYMBOLE UND GEODATISCHE

> Geodaetische:=proc(A,p,w)

> local Ch, gl1, gl2, a1, a2, a3, a4, sys, uf, lsg, c1, c2;

> Ch:=Christoffel(A);

> gl1:=(D@@2)(c[1])(t)=-add(add(Ch(c[1](t),c[2](t))[1][j,k]*

> D(c[j])(t)*D(c[k])(t),j=1..2),k=1..2);

> gl2:=(D@@2)(c[2])(t)=-add(add(Ch(c[1](t),c[2](t))[2][j,k]*

> D(c[j])(t)*D(c[k])(t),j=1..2),k=1..2);

> a1:= c[1](0)=p[1]; a2:= c[2](0)=p[2];

> a3:= D(c[1])(0)=w[1]; a4:= D(c[2])(0)=w[2];

> sys:={gl1,gl2,a1,a2,a3,a4};> uf:={c[1](t),c[2](t)};> lsg:=dsolve(sys,uf,numeric,output=listprocedure);

> c1:=subs(lsg[2],c[1](t));

> c2:=subs(lsg[4],c[2](t));

> [c1,c2]

> end;

7.2. GEODATISCHE 83

Geodaetische := proc(A, p, w)

localCh, gl1 , gl2 , a1 , a2 , a3 , a4 , sys , uf , lsg , c1 , c2 ;

Ch := Christoffel(A) ;

gl1 := (D@@2)(c1)(t) =

− add(add(Ch(c1(t), c2(t))1j, k ∗D(cj)(t) ∗D(ck)(t), j = 1..2), k = 1..2);

gl2 := (D@@2)(c2)(t) =

− add(add(Ch(c1(t), c2(t))2j, k ∗D(cj)(t) ∗D(ck)(t), j = 1..2), k = 1..2);

a1 := c1(0) = p1 ;

a2 := c2(0) = p2 ;

a3 := D(c1)(0) = w1 ;

a4 := D(c2)(0) = w2 ;

sys := {a2 , a3 , a1 , a4 , gl2 , gl1} ;

uf := {c2(t), c1(t)} ;

lsg := dsolve(sys , uf , numeric, output = listprocedure) ;

c1 := subs(lsg2, c1(t)) ;

c2 := subs(lsg4, c2(t)) ;

[c1 , c2 ]

end proc> Geodaetische(A,[0,3],[1,2])[1](2.5);

8.66130272752819330

Wir wenden diese Prozedur jetzt auf ein Beispiel an, wo die Riemannsche Metrik alserste Fundamentalform einer Flache gegeben ist, und zeichnen dann die Flache unddarauf die Geodatische. Als Beispiel wahlen wir ein Katenoid. Wir setzen voraus,dass eine Prozedur EFF definiert ist, die einer parametrisierten Flache die Matrixder zugehorigen ersten Fundamentalform zuordnet. Eine Definition einer solchenProzedur finden Sie in der Beispieldatei 7.2.mws und in def.mws. Beachten Sie,dass dazu auch fruher definierte Prozeduren wie part abl definiert sein mussen.

> Katenoid:=(u,v) -> <cosh(v)*cos(u),cosh(v)*sin(u),v>;

Katenoid := (u, v) → 〈cosh(v) cos(u), cosh(v) sin(u), v〉> B:=EFF(Katenoid):

> B(u,v); [cosh(v)2 0

0 cosh(v)2

]> geo:=Geodaetische(B,[0,1],[1,-1.3]);

geo := [c1 , c2 ]

84 KAPITEL 7. CHRISTOFFELSYMBOLE UND GEODATISCHE

> kat:=plot3d(Katenoid(u,v), u=-Pi..Pi, v=-1.3..1.3, color=blue,

> style=wireframe):> ge:=spacecurve(convert(Katenoid(geo[1](t),geo[2](t)),list),

> t=0..2, color=black, thickness=3):

> display(kat,ge,scaling=constrained, orientation=[70,80]);

Plot: 7.202.eps

Aufgaben

Aufgabe 7.2.1 Untersuchen Sie die Geodatischen auf dem Rotationstorus. WahlenSie dazu einen festen Punkt auf dem Torus und variieren Sie den Richtungsvektorder Geodatischen in diesem Punkt. Wie andert sich dabei das Verhalten der Geodati-schen?

Aufgabe 7.2.2 Untersuchen Sie analog zur vorhergehenden Aufgabe die Geodati-schen auf dem Ellipsoid

Ea,b,c :={

(x, y, z) ∈ R3∣∣∣ x2

a2+

y2

b2+

z2

c2= 1

}, a, b, c > 0

7.2. GEODATISCHE 85

Aufgabe 7.2.3 Untersuchen Sie die Geodatischen auf verschiedenen Rotations-flachen. Veranschaulichen Sie sich anhand dieser Beispiele den Satz von Clairaut:

Sei θ(t) der Winkel, unter dem die Geodatische α = X ◦α auf einer Rotationsflacheden Breitenkreis (Rotationskreis) durch α(t) schneidet. Mit r(t) sei der Radius diesesBreitenkreises bezeichnet. Dann ist r(t) cos θ(t) konstant.