Einfache Möglichkeit, Winkel zwischen -179 und 180 Grad zu halten

Gibt es eine einfache Möglichkeit zu konvertieren, die einen Winkel (in Grad) zwischen -179 und 180? Ich bin sicher, ich könnte mit mod (%) und einige if-Anweisungen, aber es wird hässlich:


//Make angle between 0 and 360
angle%=360;

//Make angle between -179 and 180
if (angle>180) angle-=360;

Es scheint nur, wie es sein sollte eine einfache mathematische operation, die nicht beide Aussagen gleichzeitig. Ich kann nur noch zum erstellen einer statischen Methode für die Konvertierung für jetzt.

Kommentar zu dem Problem - Öffnen
IMHO, Das ist nicht hässlich. Das ist ganz sauber und klar. Kommentarautor: C. Ross
Was ist, wenn der Anfangswinkel weniger dann -179? Kommentarautor: Matthew Whited
Nach Rücksprache mit den docs bin ich mit Matthew Whited - Winkel % 360 ergibt sich ein Wert zwischen -359 und +359, nicht 0 und +359. Damit Ihre Lösung scheitert zu normalisieren, erste Werte kleiner dann -179. Kommentarautor: Daniel Brückner
@Daniel: Guter Punkt. Das gegebene Beispiel ist nicht gut genug. Fühlen Sie sich frei, etwas zu deuten, das ist besser. Kommentarautor: User1

InformationsquelleAutor der Frage User1 | 2010-02-23

Schreibe einen Kommentar