3

给定一个点 (x,y),我如何计算与 x 轴的角度?

        |    . <- (x,y)
        |   /
        |  /
        | /
        |/
--------+---------
        |
        |

目前我有

Math.atan(y/x) * 180 / Math.PI;

但是,这并不能正确表示所有坐标。以下是每个象限(逆时针)的结果。

Quadrant 1: 0 -> -90
Quadrant 2: 90 -> 0
Quadrant 3: 0 -> -90
Quadrant 4: 90 -> 0

我怎样才能写出一个语句,它会给我任何点与 x 轴的角度,使得象限的结果看起来像这样。

Quadrant 1: 0 -> 90
Quadrant 2: 90 -> 180
Quadrant 3: 180 -> 270
Quadrant 4: 270 -> 360

基本上我如何在所有四个象限中完成这项工作?

4

1 回答 1

2

使用Math.atan2()它是因为它在前两个象限中返回一个 0->180 的值,在后两个象限中返回一个从 -180->0 的值。

于 2013-12-20T01:49:56.877 回答