Wie berechnet man einen Winkel von Punkten?
Möchte ich, um eine einfache Lösung zu berechnen, die den Winkel einer Linie (wie ein Zeiger einer Uhr).
Ich habe 2 Punkte:
cX, cY - the center of the line.
eX, eY - the end of the line.
The result is angle (0 <= a < 360).
Welche Funktion ist in der Lage, diesen Wert?
InformationsquelleAutor der Frage durumdara | 2012-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst den Arkustangens:
Erm, beachten Sie, dass die oben genannten ist offensichtlich nicht kompilieren von Javascript-code. Du musst schauen Sie durch die Dokumentation für die Arkustangens Funktion.
Edit: Mit Math.atan2(y,x) wird sich um alle Sonderfälle und zusätzliche Logik für Sie:
InformationsquelleAutor der Antwort Christian Mann
Einer das Problem mit dem bekommen der Winkel zwischen zwei Punkten oder beliebige Winkel ist die Referenz, die Sie verwenden.
In der Mathematik verwenden wir die trigonometrischen Kreis mit dem Ursprung und der rechten Seite des Kreises (ein Punkt in x=radius y=0) und Messen Sie die Winkel gegen den Uhrzeigersinn von 0 bis 2PI.
In der Geographie die Heimat ist der Norden bei 0 Grad und wir gehen im Uhrzeigersinn um 360 Grad.
Den folgenden code (in C#) liefert den Winkel im Bogenmaß wandelt dann auf einer geografischen Winkel:
InformationsquelleAutor der Antwort pasx
Wenn Sie mit Leinwand, werden Sie bemerken (wenn Sie nicht bereits haben), die Leinwand verwendet, Drehung im Uhrzeigersinn(MDN) und
y
Achse gespiegelt. Um konsistente Ergebnisse zu erhalten, die Sie benötigen, zu optimieren Ihrerangle
Funktion.Von Zeit zu Zeit muss ich schreiben, diese Funktion und jedes mal muss ich nachschauen, weil ich nie an die Unterseite der Berechnung.
Während die vorgeschlagenen Lösungen arbeiten, nehmen Sie nicht das canvas-Koordinatensystem berücksichtigt. Untersuchen Sie die folgenden demo:
Berechnen Winkel von Punkte - JSFiddle
InformationsquelleAutor der Antwort akinuri