static double atan2(double y, double x)

优质
小牛编辑
137浏览
2023-12-01

描述 (Description)

java.lang.Math.atan2(double y,double x)将直角坐标(x,y)转换为极坐标(r,theta)。 该方法通过计算-pi到pi范围内的y/x的反正切来计算相位θ。 特殊情况 -

  • 如果任一参数是NaN,则结果为NaN。

  • 如果第一个参数为正零且第二个参数为正,或者第一个参数为正且有限且第二个参数为正无穷大,则结果为正零。

  • 如果第一个参数为负零且第二个参数为正,或者第一个参数为负且有限且第二个参数为正无穷大,则结果为负零。

  • 如果第一个参数为正零且第二个参数为负,或者第一个参数为正且有限且第二个参数为负无穷大,则结果为最接近pi的double值。

  • 如果第一个参数为负零且第二个参数为负,或者第一个参数为负且有限且第二个参数为负无穷大,则结果为最接近-pi的double值。

  • 如果第一个参数为正且第二个参数为正零或负零,或者第一个参数为正无穷大且第二个参数为有限,则结果为最接近pi/2的double值。

  • 如果第一个参数为负且第二个参数为正零或负零,或者第一个参数为负无穷大且第二个参数为有限,则结果为最接近-pi/2的double值。

  • 如果两个参数都是正无穷大,则结果是最接近pi/4的double值。

  • 如果第一个参数是正无穷大而第二个参数是负无穷大,那么结果是最接近3 * pi/4的double值。

  • 如果第一个参数是负无穷大而第二个参数是正无穷大,则结果是最接近-pi/4的double值。

  • 如果两个参数都是负无穷大,则结果是最接近-3 * pi/4的double值。

结果必须在正确舍入结果的2 ulps内。 结果必须是半单调的。

声明 (Declaration)

以下是java.lang.Math.atan2()方法的声明

public static double atan2(double y, double x)

参数 (Parameters)

  • y - 纵坐标

  • x - 横坐标坐标

返回值 (Return Value)

此方法返回极坐标中点(r, theta)theta分量,该坐标对应于笛卡尔坐标中的点(x,y)。

异常 (Exception)

NA

例子 (Example)

以下示例显示了lang.Math.atan2()方法的用法。

package cn.xnip;
import java.lang.*;
public class MathDemo {
   public static void main(String[] args) {
      // get a variable x which is equal to PI/2
      double x = Math.PI/2;
      // get a variable y which is equal to PI/3
      double y = Math.PI/3;
      // convert x and y to degrees
      x = Math.toDegrees(x);
      y = Math.toDegrees(y);
      // get the polar coordinates
      System.out.println("Math.atan2(" + x + "," + y + ")=" + Math.atan2(x, y));
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Math.atan2(90.0,59.99999999999999)=0.9827937232473292