Sehen Sie sich das Beispiel hier an: Ссылка
Sehen Sie sich console.log an, wo ich diese beiden Hauptfunktionen verwende:
%Vor%Wo sich die Maus oberhalb und rechts vom Partikel befindet (mittlerer Kreis) wie:
Das Konsolenprotokoll zeigt Folgendes an:
%Vor%wo es arctan sein sollte (27/26) = Winkel: 46: Theta = 0.8. denn selbst wenn die Maus "über" der Mitte steht, liest sie die y2-y1 als -27, weil das Koord-System darauf basiert, dass 0,0 oben links ist.
Das Problem ist dann, wenn sowohl X als auch Y negativ sind und Theta positiv machen, wenn es in die entgegengesetzte Richtung (vom Mittelpunkt nach außen) zeigen sollte. Ich weiß, dass ich hier einen 180-Grad-Trick machen könnte, aber ich möchte verstehen, was ich falsch mache.
In Javascript und vielen Sprachen gibt es eine atan2 Funktion, um dieses Problem zu lösen. Es ist eine Funktion, die 2 Argumente benötigt (die x und y -Koordinaten), so dass das System π zum Ergebnis addieren oder subtrahieren kann der richtige Winkel. Anstatt
aufzurufen %Vor%rufen Sie stattdessen einfach
an %Vor%Tags und Links javascript math geometry cartesian polar-coordinates