Hans Walser, [20071003a]
Die Klothoide
Es wird
ein Programm (MuPAD) vorgestellt, mit welchem jede durch die so genannte
natźrliche Gleichung gegebene Kurve approximativ gezeichnet werden kann.
Insbesondere kann damit auch die Klothoide gezeichnet werden.
Unter der
Krźmmung verstehen wir
die momentane RichtungsŠnderung der Kurve beim Parameterwert s. Dabei soll s die KurvenlŠnge sein (so
genannter natźrlicher Parameter). Das Integral
gibt die
gesamte RichtungsŠnderung beim Durchlauf des Intervalls . Der Kehrwert von ist der lokale
Krźmmungskreisradius.
Die Gleichung legt eine Kurve im Wesentlichen, das hei§t bis auf Anfangspunkt und Anfangsrichtung fest. Diese Gleichung hei§t deshalb die natźrliche Gleichung der Kurve.
Wir arbeiten in der komplexen Zahlenebene und bezeichnen den Anfangspunkt mit a und die Anfangsrichtung mit ,
Wir
wŠhlen eine SchrittlŠnge und definieren
eine Folge komplexer Zahlen
mit den Startwerten und rekursiv:
Wir
verbinden die Punkte dieser folge mit einem Polygonzug; das gibt eine Approximation
der gesuchten Kurve.
Beispiel:
Die konstante Krźmmung gibt einen Kreis
mit dem Radius .
Laenge:=2:
p:=1+1/2*I:
phi:=PI/6:
deltas:=0.01:
kappa:=s->2:
n:=ceil(Laenge/deltas):
z[0]:=p:
z[1]:=z[0]+deltas*exp(I*phi):
for j from 1 to n-1 do
z[j+1]:=z[j]+(z[j]-z[j-1])*exp(I*deltas*kappa(j*deltas));
end_for:
Polygon:=i->plot::Polygon2d([[Re(z[i]), Im(z[i])],
[Re(z[i+1]), Im(z[i+1])]], LineWidth=0.5,
LineColor=[1,0,0]):
Ursprung:=plot::Point2d([0,0], PointSize=2,
PointColor=[0,0,0]):
plot(Ursprung,
Polygon(i)$i=0..n-1, Scaling=Constrained, TicksDistance=1, TicksBetween=0,
Width=60, Height=60);
Die Klothoide, auch Spinnkurve oder Cornusche Spirale genannt, ist eine Kurve, deren Krźmmung proportional zur BogenlŠnge ist.
Die Klothoide hat also eine natźrliche Gleichung von der Form . Die Schreibweise des ProportionalitŠtsfaktors hat historische Grźnde. Die Klothoide wird im Bahn- und Stra§enbau verwendet. Bei konstanter Durchfahrgeschwindigkeit, also bei ist dann die Radialbeschleunigung proportional zur BogenlŠnge und damit zur Fahrzeit. Die Berechnung der Klothoide fźhrt allerdings auf Integrale, die nicht elementar auswertbar sind. Man kann zeigen, dass der ăWickelpunktŇ A die Koordinaten hat.
Laenge:=20:
p:=0:
phi:=0:
deltas:=0.01:
a:=2:
kappa:=s->s/a^2:
n:=ceil(Laenge/deltas):
z[0]:=p:
z[1]:=z[0]+deltas*exp(I*phi):
for j from 1 to n-1 do
z[j+1]:=z[j]+(z[j]-z[j-1])*exp(I*deltas*kappa(j*deltas));
end_for:
Polygon:=i->plot::Polygon2d([[Re(z[i]), Im(z[i])],
[Re(z[i+1]), Im(z[i+1])]], LineWidth=0.5,
LineColor=[1,0,0]):
Wickelpunkt:=plot::Point2d([a*sqrt(PI)/2,a*sqrt(PI)/2],
PointSize=3, PointColor=[0,0,1]):
Ursprung:=plot::Point2d([0,0], PointSize=2,
PointColor=[0,0,0]):
plot(Ursprung,
Polygon(i)$i=0..n-1, Wickelpunkt,
Scaling=Constrained, TicksDistance=1, TicksBetween=0, Width=100, Height=100);