说明
Java Math atan2(double y,double x) 将直角坐标 (x, y) 转换为极坐标 (r, theta)。该方法通过计算 -pi 到 pi 范围内 y/x 的反正切来计算相位 theta。特殊情况 -
如果任一参数为 NaN,则结果为 NaN。
如果第一个参数为 NaN,则结果为 NaN。参数为正零且第二个参数为正,或者第一个参数为正且有限且第二个参数为正无穷大,则结果为正零。
如果第一个参数为负零,第二个参数为正,或者第一个参数为负且有限,第二个参数为正无穷,则结果为负零。
如果第一个参数为正零,第二个参数为负,或者第一个参数为正且有限,第二个参数为负无穷,则结果是最接近 pi 的双精度值。
如果第一个参数为负零,第二个参数为负数,或者第一个参数为负且有限,第二个参数为负无穷大,则结果是最接近 -pi 的双精度值。
如果第一个参数为正,第二个参数为正零或负零,或者第一个参数为正无穷大,第二个参数为有限,则结果是最接近pi/2。
如果第一个参数为负,第二个参数为正零或负零,或者第一个参数为负无穷大,第二个参数为有限,则结果是最接近 -pi/2 的双精度值。
如果两个参数均为正无穷大,则结果是最接近 pi/4 的双精度值。
如果第一个参数为正无穷大,第二个参数为负无穷大,则结果是最接近 3*pi/4 的双精度值。
如果第一个参数为负无穷大,第二个参数为正无穷大,则结果是最接近 -pi/4 的双精度值。
如果两者都为参数为负无穷大,则结果是最接近 -3*pi/4 的双精度值。
结果必须在正确舍入结果的 2 ulp 范围内。结果必须是半单调的。
语法
public static double atan2(double y, double x)
参数
这里是参数的详细信息 -
X - 双精度数据类型中的 X 坐标。
Y - Y 坐标双精度数据类型的纵坐标。
返回值
此方法从极坐标(r , theta)。
示例 1
在此示例中,我们将展示如何使用 Math.atan2() 方法来获取基于 atan2 的在两个双数上。我们创建了两个双精度变量 x 和 y 并使用给定的坐标初始化它们。然后使用 Math.atan2() 方法打印 theta 值。
public class Test {
public static void main(String args[]) {
double x = 45.0;
double y = 30.0;
System.out.println( Math.atan2(x, y) );
}
}
这将产生以下结果 -
输出
0.982793723247329
示例 2
在此示例中,我们展示了如何使用 Math.atan2() 方法根据两个浮点数获取 atan2。我们创建了两个双精度变量 x 和 y 并使用给定的坐标初始化它们。然后使用 Math.atan2() 方法打印 theta 值。
public class Test {
public static void main(String args[]) {
float x = (float)45.0;
float y = (float)30.0;
System.out.println( Math.atan2(x, y) );
}
}
这将产生以下结果 -
输出
0.982793723247329
示例 3
在此示例中,我们展示了如何使用 Math.atan2() 方法根据两个零值获取 atan2。我们创建了两个双精度变量 x 和 y 并使用给定的坐标初始化它们。然后使用 Math.atan2() 方法打印 theta 值。
public class Test {
public static void main(String args[]) {
double x = 0.0;
double y = 0.0;
System.out.println( Math.atan2(x, y) );
}
}
这将产生以下结果 -
输出
0.0