Warnung: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php (Zeile 156)

Warnung: Use of undefined constant VB_FRAMEWORK - assumed 'VB_FRAMEWORK' (this will throw an Error in a future version of PHP) in ..../includes/functions.php (Zeile 8101)

Warnung: Use of undefined constant archive_postsperpage - assumed 'archive_postsperpage' (this will throw an Error in a future version of PHP) in ..../archive/index.php (Zeile 456)
Kurswinkel- / Azimutberechnung [Archiv] - X-Plane Schweiz

PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kurswinkel- / Azimutberechnung



Hermann
01.05.2008, 16:39
Ich will von A nach B fliegen.

Habe die Koordinaten von A und B.

Suche nun die Formel um das Azimut zu berechnen!

Vielen Dank.

Cedric Loup
01.05.2008, 16:57
Hallo Hermi


Ich will von A nach B fliegen.

Habe die Koordinaten von A und B.

Suche nun die Formel um das Azimut zu berechnen!

Vielen Dank.
Frage: Was ist Azimut ? :'(

Danke für Deinen Hinweis

Gruss Cedric

Hermann
01.05.2008, 17:49
In der Navigation (Seefahrt, Luftfahrt) nennt man das Azimut zwischen Standpunkt und Zielpunkt den Sollkurs


http://de.wikipedia.org/wiki/Azimut

kva
01.05.2008, 18:23
< Inhalt gelöscht >

Cedric Loup
01.05.2008, 18:56
Hallo Hermi und Valentin


In der Navigation (Seefahrt, Luftfahrt) nennt man das Azimut zwischen Standpunkt und Zielpunkt den Sollkurs


http://de.wikipedia.org/wiki/Azimut

Hätte ich doch selber darauf kommen können mal die Wiki zu fragen. ;D

Werde es mal durchlesen.

Danke für Eure Links.

Gruss Cedric

kva
01.05.2008, 19:07
< Inhalt gelöscht >

Hermann
01.05.2008, 19:56
Vielen Dank, Valentin.

Es geht um diese Anzeige.

Wenn ein Pilot einen FPL abgesendet hat wir die Route angezeigt aber das Flugzeusymbol hat noch die falsche Richtung.

Desshalb suche ich die Formel!

http://iwservice.com/cgi-bin/interair_live.pl?pilot=DIA042

sirarokh
02.05.2008, 22:27
Man nehme einen Punkt P1( X1, Y1 ) und einen zweiten Punkt P2( X2, Y2 ), wobei die X- und Y-Werte jeweils die Längen- und Breitengrade deiner Koordinaten sind. Den Vektor P1 -> P2 erhält man, indem man die beiden Punkte voneinander subtrahiert: V = ( X1-X1, Y1-Y2 ) = ( dX. dY ).

Um nun den Winkel von Norden aus zu berechnen, muss man die vier Quadranten unterscheiden:

Quadrant 1 ( +X, +Y ): Azimuth = arctan( dX / dY )
Quadrant 2 ( -X, +Y ): Azimuth = 270° + arctan( - 1 * dY / dX ) = 360° - arctan( -1 * dX / dY )
Quadrant 3 ( -X, -Y ): Azimuth = 180° + arctan( dX / dY )
Quadrant 4 ( +X, -Y ): Azimuth = 90° + arctan( -1 * dY / dX ) = 180° - arctan( -1 * dX / dY )

Die -1 im Tangens ist nur eine Korrektur, um den negativen Winkel im Argument des Tangens auszugleichen. Alternativ kann man dafür auch einen Betrag verwenden.

Weiterhin zu beachten ist, dass Ausnahmen gemacht werden müssen für den Fall, dass dX oder dY gleich Null wird:

dX = 0, dY > 0: Azimuth = 00°
dY = 0, dX > 0: Azimuth = 90°
dX = 0, dY < 0: Azimuth = 180°
dY = 0, dX < 0: Azimuth = 270°

Ein weiteres Problem stellt aber dar, dass die Erde keine Fläche, sondern eine Kugel ist, ich hier jedoch mit Flächenkoordinaten und nicht mit Kugelkoordinaten rechne. Mit Kugelkoordinaten werden die Rechnungen sehr viel komplizierter, die Abweichung sollte aber relativ gering bleiben, solange man den Polen fern bleibt und keine allzu großen Strecken überbrücken muss. (Bei Transatlantikflügen dürfte es aber langsam sichtbar werden, wobei auch noch nicht gesagt ist, dass die Kartensoftware nicht ohnehin eine Winkelentzerrung verwendet, die den Fehler wieder rückgängig machen würde indem sie die Karte verzerrt)

Das ganze noch einmal als Pseudocode:


dx = X1 - X2;
dy = Y1 - Y2;

IF ( dx == 0 )
IF ( dy > 0 )
azi = 0;
ELSEIF ( dy < 0 )
azi = 2 * PI;
ELSEIF (dy == 0 )
PRINT( "Fehler: Start- und Endpunkt identisch" );
END
ELSEIF ( dy == 0 )
IF ( dx > 0 )
azi = PI / 2;
ELSEIF ( dx < 0 )
azi = 3/2 * PI;
END
ELSE
azi = arctan( abs( dX / dY ) );
END

IF ( dx > 0 )
IF ( dy < 0 )
azi = PI - azi;
END
ELSEIF ( dx < 0 )
IF ( dy > 0 )
azi = 2 * PI - azi;
ELSEIF ( dy < 0 )
azi = azi + PI;
END
END

( Alle Winkel in Radiant. Computerprogramme rechnen fast immer mit Radiantmaß und nicht mit Gradmaß, daher erscheint es sinnvoll, auch den Winkel im Radiantmaß zu berechnen. Um Radianten in Grad umzurechnen, einfach mit 180/PI multiplizieren )

sirarokh
03.05.2008, 08:25
Ups, da hatte ich noch ein paar Fehler in meinem Code: Natürlich muss man nicht den Tangens sondern den Arcus Tangens verwenden. Außerdem rechnen Computer in aller Regel mit Radianten und nicht mit Grad.
Habe Beides korregiert.

Hermann
03.05.2008, 09:23
Herzlichen Dank.