+1 Daumen
2,8k Aufrufe
Hallo Community,

ich stehe solangsam ratlos einem Punkt für ein Programm für Straßenbau Simulation gegenüber.

Es geht darum eine Klothoide zu finden, welche folgende Eigenschaften besitzt.

Sie soll Gerade G mit Kreis K verbinden.

Gerade G ist fest definiert in Parameterdarstellung: G: (x; y) = (vx; vy) * delta + (xs; ys) mit Vektor (vx; vy) und Stützpunkt S (xs; ys). Genauso ist K definiert: K: (x; y) = (cos(alpha) + xm; sin(alpha) + ym) mit Mittelpunkt (xm; ym). Desweiteren sind Start und Enpunkt der Klothoide definiert. Pb(egin) (xb; yb) und Pe(nd) = (xe; ye).

Es gibt ja zahlreiche Lösungsvorschläge dafür wie:

http://www.hs-bochum.de/fb5/baeumker/download/ingv5_teil1.pdf S. 11 oder die Bachelorarbeit http://www.hinterseher.de/Diplomarbeit/straight2Circle.html

Mit diesen Lösungsansätzen finde ich zum Beispiel keine Klothoide die vom Ursprung (0; 0) den Mittelpunkt (70; 50) mit Radius 50 trifft. Es erscheint mir, dass diese Lösungsansätze überhaupt nicht beachten, wo mein Kreismittelpunkt liegt. Ich könnte ihn jetzt 50m nach links oder rechts (x-Achse) verschieben und der Lösungsansatz würde sich nicht verändern. Zudem stimmt die so gefunden Klothoide, auch wenn nun die Mittelpunkte übereinstimmen würden, nicht mit dem Endpunkt überein den ich benötige.

Der nächste Ansatz stellt mich vor das selbe Problem:
http://books.google.de/books?id=capPAgAAQBAJ&pg=PA377&hl=de&source=gbs_selected_pages&cad=2#v=onepage&q&f=false Seite 389

Gibt es hierfür eventuell noch einen anderen Lösungsansatz? Ich hab das Gefühl ich müsste hier das A größer wählen und L kleiner, womit ich aber gegen die allg. Formel: A^2 = R * L verstoßen würde.

Falls jemand noch eine Idee hat bitte mit Quelle. : ) wäre sehr freundlich

 
Avatar von

1 Antwort

0 Daumen

Hallo


Eine Grund-Idee wäre, eine Klothoide (A, R) zu nehmen und dann die y-Werte durch einen Faktor f anzupassen an die Y-Koordinate des Endpunktes YE. Das heisst also XLL = f * XL,   YLL = f * YL. Dadurch wird eine direkte Verkleinerung/Vergrößerung der Klothoide vorgenommen, die Steigung bleibt erhalten, die Klothoide zeigt weiterhin eine lineare Vergroesserung der Krümmung mit zunehmender Länge.
Eine Idee ist es, den Wert für die Länge der Klothoide im Endpunkt XE,YE in Abhängigkeit von R des Kreis-Radius zu berechnen: L(XE) = A^2/R  => l = L / A / ((pi)^{1/2})
=> Y(L(XE)) = A * (pi)^{1/2} * ∫ ( 0, L/A/(pi)^1/2 )     sin (1/2 (L/A)^2) d l
Dann ergibt sich der Faktor f zu f = YE / Y(L(XE))
Im 2. Schritt wird dann die X-Koordinate des Ursprungs der Klothoide durch Abziehen ermittelt. Alle Koordinaten der Klothoide XK können in Abhängigkeit von L wie folgt in die Zielkoordinaten XLL, YLL transformiert werden:
YLL = f * Y(L)     XLL(L) = XE +f * XK(L)  -f * X(L(XE))
=> X(L(XE)) = A * (pi)^{1/2} * ∫ ( 0, L/A/(pi)^1/2 )     cos (1/2 (L/A)^2) d l
Bei Wikipedia findet man unter "Klothoide" reichlich Information zur Mathematik der Klothoide.

Eine Umsetzung von zusätzlichen Versetzungs- und Drehungs-Arbeiten (Stützpunkt im 1. Quadranten; Gerade hat Steigung) kann ebenfalls berücksichtigt werden:


1) Versetzen Stützpunkt zum Koordinaten-Ursprung    X' = X -Sx    Y' = Y -Sy


2) Drehen von Gerade und Kreis um den Ursprung im Uhrzeigersinn.      Gerade hat die Steigung tan phi = Vy/Vx
     X'' = X' * cos phi +Y' * sin phi
     Y'' =   - X' * sin phi + Y' * cos phi
  Das ist so, weil mit der Rotation gilt
       cos(X +phi) = cosx*cosphi -sinx*sinphi
       sin(X +phi) = sinx*cosphi +cosx*sinphi


3) Klothoiden-Koordinaten berechnen
YLL = f * YL     XLL(L) = XE +f * XK(L)  -f * X(L(XE))
für L = 0 ergibt sich der Ursprung der Klothoide   XLL(0) = XE -f * X(L(XE))


4) Drehen von Gerade und Kreis und Klothoide um den Ursprung im Gegen-Uhrzeigersinn (= positiver Drehsinn)
      XLL' = XLL * cos phi   -YLL * sin phi
      YLL' = XLL * sin phi + YLL * cos phi


5) Versetzen von Gerade, Kreis, Klothoide und Stützpunkt in den 1. Quadranten
    XLL'' = XLL' + Sx
    YLL'' = YLL' + Sy
DIe Mathematik von Versetzungen (Translation), Drehungen (Rotation) sowie Maßstabsanpassungen
(Skalierung) findet man in Newman/Sproull Grundzüge der interaktiven Computergrafik.


6) Ausschnitt von PB bis PE aus der Klothoide wählen

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community