Forums Neueste Beiträge
 

Differenzen von Winkeln

08/04/2011 - 22:11 von Olaf Musch | Report spam
Hallo zusammen,

jetzt suche ich schon seit knapp 2 Stunden und finde die richtigen
Suchbegriffe nicht:

Thema: Navigation

Gegeben:
Kurs A und Windrichtung B (Richtung aus der der Wind kommt) jeweils
zwischen 0 und 359 Grad.

Gesucht:
Differenz zwischen diesen beiden Winkeln in Grad: A - B

Das Ergebnis soll im Bereich -179...180 Grad liegen.
Und bezeichnet eben relativ zum Kurs den Winkel, aus dem der Wind auf
die Kurslinie trifft (aka Windwinkel).

Auf dem Einheitskreis aufgemalt oder im Kopf gerechnet ist das ziemlich
einfach. Die Frage ist aber, wie man diese Berechnung auf möglichst
einfachem Wege in einer möglichst kompakten Formel darstellt.

Wenn ich nach "Rechnen mit Winkeln" oder "Berechnen des Windwinkels"
suche, finde ich leider nichts Zielführendes.
Excel-Sheets oder Webseiten gibt es genug, aber entweder ist die
Formel versteckt/geschützt, oder aber (nachweislich) falsch.

Kann mir hier vielleicht jemand die passenden Hinweise oder gar
die Formel liefern?

Schönen Gruß

Olaf
 

Lesen sie die antworten

#1 Oliver Jennrich
08/04/2011 - 22:41 | Warnen spam
Olaf Musch writes:

Hallo zusammen,

jetzt suche ich schon seit knapp 2 Stunden und finde die richtigen
Suchbegriffe nicht:

Thema: Navigation

Gegeben:
Kurs A und Windrichtung B (Richtung aus der der Wind kommt) jeweils
zwischen 0 und 359 Grad.

Gesucht:
Differenz zwischen diesen beiden Winkeln in Grad: A - B

Das Ergebnis soll im Bereich -179...180 Grad liegen.
Und bezeichnet eben relativ zum Kurs den Winkel, aus dem der Wind auf
die Kurslinie trifft (aka Windwinkel).

Auf dem Einheitskreis aufgemalt oder im Kopf gerechnet ist das ziemlich
einfach. Die Frage ist aber, wie man diese Berechnung auf möglichst
einfachem Wege in einer möglichst kompakten Formel darstellt.



Die wesentliche Formel hast du doch schon: A-B

Das einzige was dir fehlt ist eine Methode, den Winkel in das Interval ]-180,180] zu
bringen. Die Frage ist, ob du eine 'Formel' willst, oder einen
Algorithmus. Letzteres ist einfach:

While Winkel <= -180 do Winkel += 360
While Winkel > 180 do Winkel -= 360

Eine 'Formel', also etwas was du ohne weiteres Nachdenken in einem
Spreadsheet verwenden kannst ist schwieriger. Je nch Implementation
könnte

arctan(tan(winkel))

funktionieren. Die atan2()-Funktion des ISO/IEC 9899:1999(E) Standards
(also das, was jede vernünftige C-Implementation im Angebot hat) tut
auch das gewünschte:

atan2( sin(winkel), cos(winkel) )

Space - The final frontier

Ähnliche fragen