Wie finde ich unter zwei Peilungen den kleinsten Winkel zwischen ihnen?
Wenn zum Beispiel 1 Kurs 340 Grad und der zweite 10 Grad beträgt, ist der kleinste Winkel 30 Grad.
Ich habe ein Bild beigefügt, um zu zeigen, was ich meine. Ich habe versucht, einen von dem anderen zu subtrahieren, aber das hat wegen des Wrap-Around-Effekts eines Kreises nicht funktioniert. Ich habe auch versucht, negative Graden zu verwenden (180 - 359 ist -180 bis 0), aber das wurde durcheinandergebracht, wenn man versuchte, den Winkel zwischen positiver und negativer Zahl zu berechnen.
Ich bin mir sicher, dass es einen einfacheren Weg geben muss, viele if
-Anweisungen zu haben.
Danke für Ihre Hilfe. Adam
Übrigens. Dies ist eine Navigationsfrage, daher ist der Radius des Kreises unbekannt.
Am Ende habe ich die folgende Formel verwendet, die auf diesem Message-Board gefunden wurde, weil ich das Ergebnis benötigt habe basierend auf der Richtung (im oder gegen den Uhrzeigersinn) signiert. Es hat eine gute Erklärung, was genau los ist.
%Vor%Sie müssen den Unterschied in beiden Richtungen berücksichtigen.
%Vor%Wenn die Winkelrichtung benötigt wird, funktioniert dies:
%Vor%Tags und Links java math navigation trigonometry