Ich arbeite an etwas 2d Mathe, und ich finde den Winkel, den ich zwischen up(0, 1)
und right(1, 0)
zu -90
bekommen, die, wenn ich nicht verrückt bin oder hier etwas fehlt, scheint falsch. Ich würde +90
erwarten. Ich hoffe, dass jemand hier helfen kann, mir eine Plausibilitätsprüfung zu geben.2D-Winkel zwischen Vektoren. Negativ für oben und richtig?
Dies ist die Implementierung Ich verwende:
GetAngle(a, b) = atan2(Cross(a, b), Dot(a, b))
wo:
Cross(a, b) = (a.x * b.y) - (a.y * b.x)
Dot(a, b) = (a.x * b.x) + (a.y * b.y)
warum nicht einfach: 'Winkel = acos (Punkt (a, b)/(abs (a) * (abs (b))) '? –
Wenn du nach Norden (" oben ") und nach Osten (" rechts ") gehen willst, musst du -90 (gegen den Uhrzeigersinn um einen rechten Winkel) drehen, richtig? –
@AhmedFasih Ja, ich sehe was ich jetzt falsch vermute. Es fühlt sich schrecklich an, als würde man sagen: "Wenn du vorwärts gehen willst, nimm einfach 5 Schritte mit der Fuß-an-Fuß-Regel". Mann, ich muss mein Gehirn auf diesem einen neu verdrahten .... ah! – xoorath