![]() |
---|
Hallo, ich programmiere einen Flugsimulator und verzweifle seit ein paar Tagen an der korrekten Berechnung des sog. Kurswinkels. Dieser ist wie folgt definiert: Richtung Norden 0 bzw. 360°, nach Osten 90° usw. Ich habe die Entfernungsberechnung so gemacht: acos4 = arc (sinus(von_lat) sinus(nach_lat) cosinus(von_lat) cosinus(nach_lat) cosinus(nach_lon - von_lon)) Entfernung in km = acos4 km. Diese stimmen soweit. Der Kurswinkel berechnt sich von Ost nach West winkel = arc (sinus(nach_lat) - sinus(von_lat) cosinus(acos4)) / (cosinus(von_lat) sinus(acos4))] und von West nach Ost winkel = arc (sinus(von_lat) - sinus(nach_lat) cosinus(acos4)) / (cosinus(nach_lat) sinus(acos4))] Folgende Start- und Zielkoordinaten von_lon von_lat nach_lon nach_lat müssen (gerundet) zum Schluss ergeben von->nach 250° nach->von 70° Des weiteren habe ich noch folgende Werte genommen nach_lon //BOS nach_lat von_lon //BOS von_lat Müssen von->nach 330° nach->von 150° ergeben. Aufgrund der Ergebnisse habe ich folgendes gemacht (winkel = Ergebnis von oben): Richtung Nordwesten kurswinkel winkel Richtung Nordosten kurswinkel winkel Richtung Südosten kurswinkel winkel Richtung Südwesten kurswinkel winkel damit die Ergebnisse stimmen. Nehme ich nun bspw. die Strecke von_lon //EGLL von_lat nach_lon //DVR nach_lat kommt 164° raus, richtig wäre aber der Kurswinkel ~ 100° Oder wenn ich nun eine lange Strecke von nach_lon //YGP nach_lat von_lon //EGLL von_lat nehme, kommt 292° raus, richtig wäre aber der Kurswinkel ~ 250° Was mache ich falsch bzw. was muss mein Programm anders machen, damit die Kurswinkelberechnungen immer stimmen? Vielen Dank für hilfreiche Antworten! Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
![]() |
![]() |
Leider beschreibst du dein Problem äußerst unklar. Was soll acos4 sein und woher kommen die km? Ich nehme an, dass es sich dabei um die kürzeste Entfernung zweier Orte auf einem Kugelgroßkreis (Orthodromenkurs) handelt und die km der 360te Teil des gemittelten Erdumfangs sein soll. Wenn du einen Orthodromenkurs anpeilst, so sollte dir bewusst sein, dass sich dabei der Kurswinkel ständig ändert! Soweit ich es dem sehr schlecht lesbaren Wirrwarr entnehme, möchtest du aus geographischen Start- und Zielkoordinaten einen Kurs ermitteln. Welchen? Fliegt man die kürzeste Verbindung zwischen den beiden Orten, also entlang eines Großkreises der Erd"kugel", dann ändert sich ständig der Kurs Orthodrome. Die Verbindungslinie entlang derer man ständig konstanten Kurs (konstanter Winkel zu den Längenkreisen) halten kann ist deutlich länger und verläuft auf einer sogenannten Loxodrome. Ich nehme an, dass du eigentlich letzteres suchst und daher auch die entsprechend längere Flugstrecke berücksichtigen solltest. Ich hab mir deine Ausführungen nicht so im Detail ansehen können, aber ich habe den Verdacht, dass du Formel für einen Orthodromen-Kurs verwendest (der Kurs ändert sich ständig!), aber eigentlich einen Loxodromen-Kurs (ständig gleicher Kurs) erwartest. Das macht bei kurzen Entfernungen kaum einen Unterschied, wohl aber bei größeren Distanzen. Wenn du nach diesen Begriffen (Loxodrome, Kurs, Orthodrome) suchst wirst du sicher fündig und findest auch die nötigen Formeln. zB http//www.nva-flieger.de/index.php/theorie/navigation/kurse.html www.geometrie.tuwien.ac.at/asperl/projekt/navi.htm de.wikipedia.org/wiki/Loxodrome . |
![]() |
Hallo Roman-22, vielen Dank für die hilfreiche Erklärung! Die Loxodrome waren die Lösung. Es funktioniert jetzt alles! Grüße |