Wie finden Sie den signierten Winkel Theta von Vektor a nach b?Gefundene signierte Winkel zwischen Vektoren
Und ja, ich weiß, dass Theta = Arccos ((a.b)/(| a || b |)).
Es enthält jedoch kein Vorzeichen (d. H. Es unterscheidet nicht zwischen einer Drehung im oder gegen den Uhrzeigersinn).
Ich brauche etwas, das mir den minimalen Winkel von A nach B drehen kann. Ein positives Vorzeichen zeigt eine Drehung von + x-Achse in Richtung + y-Achse an. Umgekehrt bedeutet ein negatives Vorzeichen eine Drehung von + x-Achse in Richtung -y-Achse.
assert angle((1,0),(0,1)) == pi/2.
assert angle((0,1),(1,0)) == -pi/2.
Perfect, danke. – Cerin
Was ist mit a = (-1,1) und b = (-1, -1), wo die Antwort pi/2 sein sollte? Sie sollten prüfen, ob der absolute Wert größer als pi ist, und dann 2 * pi addieren oder subtrahieren, wenn dies der Fall ist. –
@Derek Guter Fang. Das habe ich selbst bei der Implementierung der Lösung selbst entdeckt. – Cerin