Hans Walser, [20071212a]

Verfolgungskurven

Anregung: [Simoson 2007]

1        Worum es geht

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

 

2        Modellierung

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:

 

3        Programm

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

 

4        Beispiele

4.1      Kosinuskurve

FŸr  ist der Verfolger gleich schnell wie das Ziel und erreicht dieses nicht.

 

Kosinuskurve

 

4.2      Langsamer Verfolger

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.

4.3      Mehrere Verfolger

4.3.1    Parallele Verfolger

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.

 

4.3.2    Konsekutive Verfolger

Der Blaue verfolgt die Rote, der Rote den Blauen.

 

Eifersucht ist eine Leidenschaft, die mit Eifer sucht, was Leiden schafft.

 

4.4      Lange Beine und kurzes Hirn

4.4.1    Achill und die Schildkršte

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

 

4.4.2    Start neben der Geraden es Zielobjektes

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