22
Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung ebener Kurven Im Folgenden wird vorausgesetzt, daß Sie das Paket linalg geladen haben. Eine Kurve im R 2 wollen wir in MAPLE durch eine vektorwertige Funktion beschreiben: > alpha := t -> vector([t^2,t^3]); α := t [t 2 ,t 3 ] > alpha(4); [16, 64] Wir k¨ onnen die Kurve zun¨ achst auch nur durch Symbole beschreiben, und diesen Symbolen erst sp¨ ater konkrete Funktionen zuweisen. > alpha := t -> vector([a[1](t),a[2](t)]); α := t [ a 1 (t),a 2 (t)] > a[1] := t -> t^2; a 1 := t t 2 > a[2] := t -> t^3; a 2 := t t 3 > alpha(t); [t 2 ,t 3 ] Hier ist eine kleine Warnung angebracht. In der Mathematik identifiziert man ei- ne vektorwertige Funktion α : R R 2 gerne mit einem Paar (α 1 2 ) von reellen Funktionen α 1 2 : R R. In MAPLE sind das aber verschiedene Dinge. Im obigen Beispiel ist α eine Funktion, deren Werte α(t) Vektoren sind. Hingegen ist a ein 27

Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

  • Upload
    vohuong

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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

Page 2: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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

Page 3: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 zusatzlichenParameter abhangen, z. B. ein Kreis vom Radius r. Diese stellen wir dar durcheine Funktion, 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 Funktionensind.

> 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

Page 4: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

30 KAPITEL 3. EBENE KURVEN MIT MAPLE

Der Ausdruck Pi ist von MAPLE reserviert und stellt den Wert π dar. Die Optionscaling=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:

Page 5: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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. Wirbenutzen hier gleichzeitig die Pakete linalg und LinearAlgebra. Zuvor setzenwir MAPLE in 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:

Page 6: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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);

Page 7: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 Berech-nung von Integralen. Es ist jedoch immer moglich, einen numerischen Wert furdas Integral berechnen zu lassen. Dazu dient der Befehl evalf(Ausdruck). Dasf steht dabei fur 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

Page 8: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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)

]

Page 9: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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;

Page 10: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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

Page 11: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

3.3. DIE KRUMMUNG EBENER KURVEN 37

und dann den Graph der Krummung. Der Plotbefehl hat dann die folgendeeinfachere 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.

Page 12: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 implicitplotdargestellt werden. Dieser Befehl ist in der Bibliothek der erweiterten Plotbefehleenthalten. 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

Page 13: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 imPunkt 0 verschwinden. Prufen Sie es einfach mit MAPLE nach. Fur c = 0 hatdie Urbildmenge 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

Page 14: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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.

Page 15: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 derfolgende Ansatz.

> 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:

Page 16: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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 Weiterverarbei-ten solcher Ausdrucke jedoch schwierig. Deshalb definieren wir uns selbst einenBefehl eukl norm:

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

Page 17: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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;

Page 18: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

44 KAPITEL 3. EBENE KURVEN MIT MAPLE

Machen Sie sich in allen diesen Definitionen klar, welche Operationen in deneinzelnen 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:

Page 19: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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

Page 20: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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);

Page 21: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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

Page 22: Kapitel 3 Ebene Kurven mit MAPLE - Lehrkörper / Mitarbeiterhome.mathematik.uni-freiburg.de/geometrie/lehre/ss2004/praktikum/3.pdf · Kapitel 3 Ebene Kurven mit MAPLE 3.1 Die Beschreibung

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.