Hans Walser, [20071212a]
Verfolgungskurven
Anregung:
[Simoson 2007]
Ein
Zielobjekt bewegt sich auf einer Kurve . Dieses Zielobjekt wird von einem Verfolger verfolgt. Dieser
Verfolger bewegt sich auf der Kurve
. Der Verfolger orientiert sich in jedem Zeitpunkt t auf das Zielobjekt und bewegt sich in
der jeweiligen Richtung auf des Zielobjekt.
Die Geschwindigkeit des Verfolger steht in einem festen VerhŠltnis q zur Geschwindigkeit des Zielobjektes.
Im
folgenden Beispiel bewegt sich das rot Zielobjekt auf dem Einheitskreis mit dem
Startpunkt . Der blaue Verfolger startet im Ursprung; seine Geschwindigkeit
ist 10% grš§er als jene des Zielobjektes, also
. Im violetten
Punkt hat der Verfolger das Zielobjekt eingeholt.
Blauer Verfolger
Der
Vektor ist der
Abstandsvektor vom Verfolger zum Ziel;
sei der
zugehšrige Einheitsvektor:
Damit
ergibt sich fŸr die Bewegung des Verfolgers
die Differenzialgleichung:
Im
folgenden MuPAD-Programm ist und
. Ferner ist q das
GeschwindigkeitsverhŠltnis, a und b sind die Grenzen des
Parameterintervalls fŸr die Zielkurve. Wenn der Verfolger das Ziel trifft, wird
die Zielkurve nicht weiter ausgefahren, die obere Intervallgrenze b also nicht erreicht. Zur besseren
chronologischen Orientierung sind auf den beiden Kurven entsprechende
Teilpunkte eingezeichnet. Falls das gesamte Parameterintervall durchfahren
wird, sind es N Teilpunkte, sonst
weniger. Mit
wird die fŸr die
diskretisierte Berechnung verwendete SchrittlŠnge bezeichnet. Ein allfŠlliger
Treffpunkt wird violett gezeichnet.
Das Programm liefert das Beispiel der obigen Figur. Der Programmkern, welcher der Differenzialgleichung entspricht, ist blau eingefŠrbt.
x:=t->cos(t):
y:=t->sin(t):
u[0]:=0:
v[0]:=0:
q:=1.1:
a:=0:
b:=1.25*PI:
N:=10:
dt:=0.001:
z[0]:=float(x(a))+I*float(y(a)):
w[0]:=float(u[0])+I*float(v[0]):
K:=ceil((b-a)/dt):
m:=K/N:
for k from 1 to K do
z[k]:=float(x(a+k*dt))+I*float(y(a+k*dt)):
dz[k]:=z[k]-z[k-1]:
r[k]:=z[k-1]-w[k-1]:
re[k]:=r[k]/abs(r[k]):
w[k]:=w[k-1]+q*re[k]*abs(dz[k]):
end_for:
k:=1:
repeat
k:=k+1 until Re(re[k]/re[k-1])<0 or
k=K
end_repeat:
k1:=k:
Kurvez:=plot::Polygon2d([[Re(z[k]),Im(z[k])]$k=0..k1],
LineWidth=1/2, LineColor=[1,0,0]):
Punktz:=j->plot::Point2d([Re(z[j*floor(m)]),Im(z[j*floor(m)])],
PointSize=2, PointColor=[1,0,0]):
Startz:=plot::Point2d([Re(z[0]),Im(z[0])],
PointSize=4,
PointColor=[1,0,0]):
Kurvew:=plot::Polygon2d([[Re(w[k]),Im(w[k])]$k=0..k1],
LineWidth=1/2, LineColor=[0,0,1]):
Punktw:=j->plot::Point2d([Re(w[j*floor(m)]),Im(w[j*floor(m)])],
PointSize=2, PointColor=[0,0,1]):
Startw:=plot::Point2d([Re(w[0]),Im(w[0])],
PointSize=4,
PointColor=[0,0,1]):
Punktt:=plot::Point2d([Re(w[k1]),
Im(w[k1])], PointSize=4,
PointColor=[1,0,1]):
if k1<K then
plot(Startz, Punktz(j)$j=0..floor(k1/m),
Kurvez,
Startw, Punktw(j)$j=0..floor(k1/m),
Kurvew, Punktt,
Scaling=Constrained, TicksDistance=1,
TicksBetween=0,
AxesLineWidth=0.5, AxesLineColor=[0,0,0],
AxesTitleFont=["Times",12,Italic],
TicksLabelFont=["Times",12],
Width=92.4, Height=51.5,
BorderWidth=1/4*unit::mm);
else
plot(Startz, Punktz(j)$j=1..floor(k1/m),
Kurvez,
Startw, Punktw(j)$j=1..floor(k1/m),
Kurvew,
Scaling=Constrained, TicksDistance=1,
TicksBetween=0,
AxesLineWidth=0.5, AxesLineColor=[0,0,0],
AxesTitleFont=["Times",12,Italic],
TicksLabelFont=["Times",12],
Width=92.4, Height=51.5,
BorderWidth=1/4*unit::mm);
end_if
FŸr ist der Verfolger
gleich schnell wie das Ziel und erreicht dieses nicht.
Nein, sprach der Fuchs, die Trauben sind mir zu sauer
FŸr ist der Verfolger
gleich schnell wie das Ziel und erreicht dieses nicht.
Kosinuskurve
FŸr ergibt sich fŸr
den Verfolger als Grenzkurve ein Kreis mit halbem Radius.
Hoffnungslos
Variante:
Zielobjekt auf Dreieck, .
Dreieck
Generell
erreicht bei der Verfolger das
Ziel nur, wenn das Ziel sich geradlinig bewegt und der Verfolger vor dem Ziel
auf der Zielgeraden startet.
Wo man sich trifft
Startet
der Verfolger neben der Geraden, schafft er es auch bei nicht.
Der ewige Zweite
Ein etwas
grš§eres Tempo, zum Beispiel , reicht bereits.
GeringfŸgig schneller
Falls
sich das Ziel kreisfšrmig bewegt und der Verfolger schon auf dem Kreis vor dem
Ziel ist, funktioniert es auch bei nicht.
Der Verfolger kann nicht warten
Das liegt daran, dass der Verfolger stur in Richtung des jeweiligen Zielortes rennt. Er ist au§erstande, die Kurve des Zieles vorwegzunehmen und gegebenenfalls einfach zu warten.
Zwei Verfolger, beide gleich schnell wie das Zielobjekt, verfolgen unabhŠngig voneinander von verschiedenen Startpunkten aus.
Beidi wei di, Heidi, beidi, Heidi, hei di gŠrn.
Der Blaue verfolgt die Rote, der Rote den Blauen.
Eifersucht ist eine Leidenschaft, die mit Eifer sucht, was Leiden schafft.
Wir denken uns einen schnellen blauen Verfolger, der aber nur nach jeder Stunde (jede Zeiteinheit) sich auf das rote Ziel orientiert und dazwischen blind drauflos rennt. Er denkt also wie die Bundesbahn im Stundentakt.
Mathematisch:
Im
folgenden Beispiel ist ; der Verfolgten geben wir einen Vorsprung von 5.5. Da dieser
Vorsprung echt halbzahlig ist, die Ÿbrigen Daten aber ganzzahlig, ist es nicht
mšglich, dass zu einer vollen Stunde rot und blau sich am selben Ort befinden.
Im Zeitraster des Verfolgers gibt es keinen Treffpunkt. Dies ist eine Variante
des bekannten Paradoxons von Zenon von Elea, bei welchem ãbewiesenÒ wird, dass
Achill eine Schildkršte nicht einholen kann.
Bewegungsbild
Das Bewegungsbild ist etwas verwirrend; wir zŠhlen 10 rote Punkte, aber nur 8 blaue Punkte. TatsŠchlich ist es so, dass zwei blaue Punkte je doppelt sind, weil der Verfolger zeitweise rŸckwŠrts gesprungen ist. Sobald er nŠmlich das Zielobjekt ein erstes Mal Ÿberholt hat, merkt er bei der nŠchsten Orientierung, dass sich dieses hinter ihm befindet. Also rennt er in vollem Caracho rŸckwŠrts.
Im Weg-Zeit-Diagramm sehen wir, dass der Verfolger im betrachteten Zeitintervall des Ziel zweimal vorwŠrts und einmal rŸckwŠrts Ÿberspringt.
Weg-Zeit-Diagramm
In einem grš§eren Zeitintervall erkennen wir ein periodisches Verhalten.
Periodisches Verhalten
Ist q irrational, ergibt sich kein
periodisches Verhalten. WŸrde sich nŠmlich die vertikale Differenz zwischen
roten und blauen Punkten wiederholen, gŠbe es Zahlen mit
. Dann wŠre aber q
rational.
Im
folgenden Beispiel ist .
Irrationales GeschwindigkeitsverhŠltnis
In den
beiden folgenden Beispielen ist .
Bei
geeignetem Startpunkt des Verfolgers
ergibt sich offensichtlich eine periodische Figur, welche in ein regelmЧiges
Dreiecksraster passt.
Periodisches Verhalten
Bei leichter Variation des Startpunktes des Verfolgers ergibt sich ein Verhalten, bei dem ich nicht entscheiden kann, ob es periodisch ist. Ich vermute, dass es aperiodisch ist.
Beim
Startpunkt sieht es zunŠchst
so aus, als hŠtte wir eine Periode mit der PeriodenlŠnge 6; die Vermutung ist
aber falsch.
Nicht periodisch
Bei einem grš§eren Zeithorizont wird es ganz wild.
Grš§eres Zeitintervall
Literatur
[Simoson
2007] Simoson,
Andrew J.: Pursuit Curves for the Man in the Moone. The College Mathematics
Journal, Vol. 38, No. 5, November 2007. p. 330-338