Math.Atan2 Erträge seltsames Ergebnis?

Erste, meine Mathematik ist nicht stark! Aber ich war die Berechnung der Winkel eines Punktes vom Ursprung (0, 0), (-1, -1).

Dieser Winkel 225° oder 5π/4.

  • 5π/4 = 3.9269908169872415480783042290994
  • Math.Atan2(-1, -1) = -2.3561944901923448

Vielleicht ist mein Verständnis von Math.Atan2 ist falsch, aber ich dachte, dass es gemeint war, um die Rückkehr der Grad eines Winkels gegeben zwei Punkte auf einem Kreis, dessen Ursprung (0, 0). Was ich vermute ist, was hier passiert ist, dass das Ergebnis von Atan2 ist "gespiegelt", da es auf der negativen Seite der X-Achse...kann das jemand bestätigen und den richtigen Weg, dies zu tun?

Dies ist mein test, der fehlschlägt:

Assert.AreEqual((5 * Math.PI) / 4, Math.Atan2(-1, -1));

Und hier ist mein PointD Klasse hält, die Punkte X und Y:

public double ToRadians()
{
    double radians = Math.Atan2(this.Y, this.X);

    return radians;
}
InformationsquelleAutor Josh M. | 2013-02-17
Schreibe einen Kommentar