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