Unbenanntes Dokument

Welche Bahn ist schneller?

(c) H. Mendel, Amberg 2006

Weiter


Übersicht

1 | Problemstellung
2 | Schiefe Ebene
3 | Schiefe Ebene mit Umweg
4 | Bahn mit kürzester Zeit
5 | Allgemeine Zeitberechnung
6 | Näherungsweise Zeitberechnung mit Hilfe des Computers
7 | Beispiele
7.1 | Schiefe Ebene
7.2 | Kreisbogen
7.3 | Brachistochrone (Zykloide)
7.4 | Parabelbogen
7.5 | Weiterer Kreisbogen
7.6 | Zusammenstellung
8 | Literatur

Zurück


Problemstellung

Welches ist die kürzeste Verbindung zwischen zwei Punkten?

Dies ist ein typisches Beispiel für eine unpräzise Fragestellung:
Handelt es sich um ein geometrisches oder ein physikalisches Problem? Oder sind noch andere Bedingungen zu beachten?
Hat man nicht in der Schule gelernt, dass die Gerade die kürzeste Verbindung zweier Punkte ist?
Beispiele aus der Praxis:
1. Ein Fußballspieler sollte zum gegnerischen Tor längs einer Kreislinie laufen, die auf allen Fasskreisbögen über der Torlinie senkrecht steht. (Der Gegner versucht selbstverständlich, dies zu verhindern) ([1], S. 18 ff.).
2. Tritt ein radioaktiver Katastrophenfall ein, so ist der Weg zwischen zwei Orten mit minimaler Strahlenbelastung ein Kreisbogen ([1], S. 21).
3. Der optimale Weg maximaler Übertragung elektrischer Energie in Luft zwischen zwei Punkten ist fraktal (Blitz).
4. Der Weg minimaler Zeit zwischen zwei Punkten unter dem Einfluss der Schwerkraft ist keine Gerade.

Am Tag der offenen Tür 2006 des Gregor-Mendel-Gymnasiums Amberg wurden drei Fallrinnen mit gleicher Ausgangs- und Endhöhe vorgeführt, und zwar:
1. Schiefe Ebene, also eine Gerade als Verbindung,
2. Kreisbogen, und
3. Zykloidenbogen.
Die Besucher konnten drei gleiche Kugeln am oberen Punkt gleichzeitig loslassen und ihre Ankunft am unteren Punkt beobachten. Es war zu beobachten, dass die Gerade die langsamste, die Zykloide die schnellste dieser drei Bahnen ist.
Im Folgenden soll dies theoretisch untersucht werden.
Vereinfachende Annahmen: Die Kugeln sollen sich reibungsfrei bewegen und gleiten, nicht rollen (sogenannte reibungsfreie Massenpunkte).


Schiefe Ebene

Zeit von Q nach P:

Hier und in allen folgenden Berechnungen wird einheitlich h = 0,2 m und x = 1,0 m eingesetzt.

Damit erhält man für die Zeit 1,03 s.


Schiefe Ebene mit Umweg

Die Gesamtzeit setzt sich aus der Zeit auf der schiefen Ebene mit Basis x1 und dem waagrechten Weg x2 zusammen. Die (konstante) Geschwindigkeit längs x2 ist gleich der Geschwindigkeit am Fuß der schiefen Ebene.
Somit erhält man für die Zeit von Q nach P:

Es sei x1 = x2 = 2x angenommen. Dann ist die Gesamtzeit t = 0,80 s, also trotz "Umweg" weniger als bei einer Geraden von Q nach P (1,03 s)!


Bahn mit kürzester Zeit

Johann Bernoulli (1667 - 1748), einer der Väter der Differenzialrechnung, stellte öffentlich die Preisfrage nach der Bahnkurve zwischen zwei Punkten Q und P mit der kürzesten benötigten Zeit, wenn allein die Schwerkraft auf den Massenpunkt wirkt (Brachistochrone).
Ein Lösungsweg, der das optische Brechungsgesetz von Snellius und Descartes verwendet, wird hier beschrieben:

Das Brechungsgesetz besagt, dass ein Lichtstrahl beim Übergang von einem Medium mit der Lichtgeschwindigkeit v1 in ein anderes der Lichtgeschwindigkeit v2 so gebrochen wird, dass

gilt. Ebenso :

usw. Also sind die Quotienten

konstant. Nach Fermat benötigt der so gebrochene Lichtstrahl damit die geringstmögliche Zeit.
Nun lässt man die Schichtdicken gegen Null gehen, so dass im Grenzfall eine stetig differenzierbare Kurve entsteht.
v erhält man aus der Fallhöhe y

und den Sinus aus der Steigung y'

Damit ergibt das Brechungsgesetz

Löst man unter Verwendung der Konstanten

nach y' auf, so erhält man die Differenzialgleichung

Bernoulli kannte diese Differenzialgleichung und ihre Lösung: die Zykloide. Sie wird mit dem Parameter u durch die Koordinaten

beschrieben. C ist eine Konstante. Start der Bewegung: u = 0; Bahnende: u ≤2π. Die Brachistochrone (y-Achse nach oben gerichtet, Start der Bewegung nach unten) erhält man schließlich aus der Zykloide durch vertikale Achsenspiegelung.


Allgemeine Zeitberechnung

Wir nähern den Weg von Q nach P durch einen Polygonzug aus n Strecken an. Der Weg hat die Länge

Für das Teilstreckenelement ds wird die Zeit dt nach

benötigt, wobei y0 die Ausgangshöhe, y die momentane Höhe, y' die Kurvensteigung, und g die Erdbeschleunigung bedeuten.

Die Gesamtzeit ist dann die Summe aller Teilzeiten, also im Grenzübergang das Integral

mit Angangs- und Endort x1 bzw. x2.

Das Brachistochronenproblem lautet in anderer Formulierung: Man bestimme die Kurve, für die obiges Integral minimal ist.

Für die im Folgenden durchzuführenden Computersimulationen wird auch das Integral für Kurven in Parameterdarstellung benötigt. Hierzu formt man es mit Hilfe der Kettenregel um:


Näherungsweise Berechnung des Integrals mit Hilfe eines Computers

Die Gesamtzeit erhält man näherungsweise als Summe der Zeiten für die Teilstrecken, wobei die Teilung sehr fein gemacht wird. Zugrunde gelegt wird der weiter oben hergeleitete Term für die Teilzeit

Startpunkt: Q(0; 0). Endpunkt: P(xP>0; yP<0).
Folgender Algorithmus wird verwendet:

1. | g := 9.81; y0 := 0;
2. | Kurvenkoordinaten und Ableitungen definieren;
3. | Anfangs- und Endwerte des Parameters u definieren;
4. | Schrittweite du definieren;
5. | Zeit t := 0;
6.
Wiederhole |
 | Neue Zeit t := t + dt (s. obiger Term)
 | Parameter erhöhen u := u + du;
bis Endwert von u erreicht;
7. | Zeit t ausgeben;

Dieser Algorithmus ist leicht mit Hilfe der üblichen Programmiersprachen zu realisieren.
In den nächsten Seiten werden mehrere Beispiele beschrieben. Verwendet wurde dabei das CAS MuPAD, dessen Programmiersprache stark Pascal ähnelt. Die Umsetzung in andere Programmiersprachen ist nicht schwer.

Zur Kontrolle wird die Zeit in allen Beispielen durch direkte Anwendung der Integrationsfunktion des CAS oder - falls möglich - direkt berechnet.

Abschließend werden die berechneten Zeiten in einer Tabelle miteinander verglichen.


Beispiele

Zunächst werden die drei Bahnkurven diskutiert, für die je ein Modell am Tag der offenen Tür 2006 des Gregor-Mendel-Gymnasiums Amberg vorgestellt wurde. Die Modelle wurden von StD G. Heigl gefräst.

Anschließend wird noch auf weitere Bahnkurven eingegangen, um den Ergebnissen zu entnehmen, dass die Zeit der Zykloide (Brachistochrone) nicht unterboten wird. Ein Beweis für die Minimaleigenschaft ist dies jedoch nicht. Dieser wurde weiter oben erbracht.

Ein numerischer Trick: im Nenner steht die Differenz y0 - y(u). Sie wird beim Start Null, so dass eine Fehlermeldung wegen Division durch Null käme. Deshalb wird für y0 ein ganz kleiner Wert ungleich Null vorgegeben.

Zur Erhöhung der Rechengeschwindigkeit kann man Teilterme manuell zusammenfassen (Termvereinfachung, Ableitung der Funktionen). Wegen der besseren Vergleichbarkeit der Beispiele untereinander wurde hier darauf verzichtet.

Es wird empfohlen, die Schrittweite so lange zu verkleinern, bis keine großen Änderungen im Ergebnis zu beobachten sind. Allerdings erhöht sich dann die Rechenzeit!

Die Beispiel-Seiten wurden aus den MuPAD-Arbeitsblättern direkt durch Export als HTML-Datei erzeugt.


Schiefe Ebene

g := 9.81: y0 := 0.0000001:

xP := 1.0: yP := -0.2:

x := u -> u:

y := u -> yP/xP*u:

uAnf := 0: uEnd := xP:

u := uAnf:

du := 0.000001:

t := 0:

repeat

t := t + du * sqrt(((x')^2+(y')^2)/(2*g*(y0-y(u)))):

u := u + du:

until u > uEnd end_repeat:

t

Die direkte Berechnung (s.o.) ergab t = 1,03 s

Der Graph der Anordnung:

delete(u):

gerade := plot::Curve2d([x(u),y(u)], u=0..uEnd):

punkt := plot::Point2d(xP,yP):

text := plot::Text2d("P(xP; yP)", [1.02, -0.25]):

plot(gerade, punkt, text, Scaling=Constrained)


Kreisbogen

Der Kreis geht durch den Ursprung und läuft im Endpunkt waagrecht aus.

reset():

g := 9.81: y0 := 0.0000001:

xP := 1.0: yP := -0.2:

// Mittelpunkt und Radius des Kreises:

rK := -(xP^2+yP^2)/(2*yP): xK := xP: yK := rK + yP:

x := u -> xK-rK*sin(arcsin(xK/rK)-u):

y := u -> yK-rK*cos(arcsin(xK/rK)-u):

uAnf := 0: uEnd := arcsin(xK/rK):

u := uAnf:

du := 0.00001:

t := 0:

repeat

t := t + du * sqrt(((x'(u))^2+(y'(u))^2)/(2*g*(y0-y(u)))):

u := u + du:

until u > uEnd end_repeat:

t

0.8324520702

Zum Vergleich: Direkte numerische Integration

delete(u):

zeit := numeric::int(sqrt(x'(u)^2+y'(u)^2)/sqrt(2*g*(y0-y(u))), u=0..arcsin(xK/rK))

Der Graph der Anordnung:

delete(u):

kreis := plot::Curve2d([x(u),y(u)], u=0..arcsin(xK/rK)):

punkt := plot::Point2d(xP,yP):

text := plot::Text2d("P(xP; yP)", [1.02, -0.25]):

plot(kreis, punkt, text, Scaling=Constrained)


brachistochrone

Brachistochrone (Zykloide)

Zuerst muss die Konstante C in den Koordinaten so bestimmt werden,

dass die Kurve durch den Ursprung und den Endpunkt P(xP; yP) geht.

reset():

g := 9.81: y0 := 0.0000001:

xP := 1.0: yP := -0.2:

// Endparameter uP, zum Punkt P gehörend, suchen:

uP := op(numeric::realroot(yP/xP=-(1-cos(u))/(u-sin(u)),u=0.01..2*PI)):

C := 2.0*xP/(uP-sin(uP)):

// Zykloide an x-Achse spiegeln:

x := u -> C/2*(u-sin(u)):

y := u -> -C/2*(1-cos(u)):

uAnf := 0: uEnd := uP:

u := uAnf:

du := 0.001:

t := 0:

repeat

t := t + du * sqrt(((x'(u))^2+(y'(u))^2)/(2*g*(y0-y(u)))):

u := u + du:

until u > uEnd end_repeat:

t

0.6204132934

Zum Vergleich: Direkte numerische Integration

delete(u):

zeit := numeric::int(sqrt(x'(u)^2+y'(u)^2)/sqrt(2*g*(y0-y(u))), u=0..uEnd)

Der Graph der Anordnung:

delete(u):

brach := plot::Curve2d([x(u),y(u)], u=0..uEnd):

punkt := plot::Point2d(xP,yP):

text := plot::Text2d("P(xP; yP)", [1.02, -0.25]):

plot(brach, punkt, text, Scaling=Constrained)


Parabelbogen

Die Parabel geht durch den Ursprung und hat ihren Scheitel im Endpunkt P(xP; yP).

reset():

g := 9.81: y0 := 0.0000001:

xP := 1.0: yP := -0.2:

x := u -> u:

y := u -> -yP/xP^2*u*(u-2.0*xP):

uAnf := 0: uEnd := xP:

u := uAnf:

du := 0.00001:

t := 0:

repeat

t := t + du * sqrt(((x'(u))^2+(y'(u))^2)/(2*g*(y0-y(u)))):

u := u + du:

until u > uEnd end_repeat:

t

0.8296699479

Zum Vergleich: Direkte numerische Integration

delete(u):

zeit := numeric::int(sqrt(x'(u)^2+y'(u)^2)/sqrt(2*g*(y0-y(u))), u=0..uEnd)

Der Graph der Anordnung:

delete(u):

parabel := plot::Curve2d([x(u),y(u)], u=0..uEnd):

punkt := plot::Point2d(xP,yP):

text := plot::Text2d("P(xP; yP)", [1.02, -0.25]):

plot(parabel, punkt, text, Scaling=Constrained)


Weiterer Kreisbogen

Der Kreis schneidet im Ursprung die x-Achse senkrecht und geht durch den Endpunkt P(xP; yP).

reset():

g := 9.81: y0 := 0.0000001:

xP := 1.0: yP := -0.2:

// Radius des Kreises:

uP := op(numeric::realroot(xP/yP=-(1+sin(u))/cos(u),u=-PI/2+0.0001..PI)):

rK := xP/(1+sin(uP)):

x := u -> rK*(1+sin(u)):

y := u -> -rK*cos(u):

uAnf := float(-PI/2): uEnd := uP:

u := uAnf:

du := 0.00001:

t := 0:

repeat

t := t + du * sqrt(((x'(u))^2+(y'(u))^2)/(2*g*(y0-y(u)))):

u := u + du:

until u > uEnd end_repeat:

t

0.6515700168

Zum Vergleich: Direkte numerische Integration

delete(u):

zeit := numeric::int(sqrt(x'(u)^2+y'(u)^2)/sqrt(2*g*(y0-y(u))), u=uAnf..uEnd)

Der Graph der Anordnung:

delete(u):

wKreis := plot::Curve2d([x(u),y(u)], u=uAnf..uEnd):

punkt := plot::Point2d(xP,yP):

text := plot::Text2d("P(xP; yP)", [1.02, -0.25]):

plot(wKreis, punkt, text, Scaling=Constrained)


Zusammenstellung

Zurück
Weiter


Literatur

[1] | E. König, C. Kuhlemann: Die Kreislinie als kürzester Weg, Mathematische Unterhaltungen III, Spektrum Dossier 2/04
[2] | Bronstein et al., Taschenbuch der Mathematik, Verlag Harry Deutsch, Frankfurt/Main 1999
[3] | Chr. Creutzig et al., Das MuPAD Tutorium, Springer, Heidelberg 2002
[4] | M. Majewski, MuPAD Pro Computing Essentials, Springer, Heidelberg 2004