Kartesisch zu Polarkoordinaten

8

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.

    
ParoX 17.01.2012, 17:06
quelle

2 Antworten

13

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%     
kennytm 17.01.2012, 17:24
quelle
2

Ich weiß nicht, wie Sie die Linie zeichnen wollen, aber beides wird Ihr Problem lösen.

%Vor%     
Diode 17.01.2012 17:33
quelle