📜  Java中的 StrictMath atan2() 方法

📅  最后修改于: 2022-05-13 01:55:18.549000             🧑  作者: Mango

Java中的 StrictMath atan2() 方法

Java.lang.StrictMath.atan2()是Java中的一个内置方法,用于计算-pipi之间范围内的 ordinate_val/abscissa_val 的反正切。它返回从直角坐标(abscissa_val, ordinate_val)到极坐标(p, angle)转换的角度。

  • abscissa_val为负零且ordinate_val为负时,或者abscissa_val为负且有限且ordinate_val为负无穷时,结果是最接近 -pi 的双精度值。
  • 当两个参数都是正无穷大时,结果是最接近 pi/4 的双精度值。
  • 当任一参数为 NaN 时,结果为 NaN。
  • abscissa_val为正零且ordinate_val为正时,结果为正零,或者abscissa_val为正且有限且ordinate_val为正无穷大。
  • abscissa_val为负零且ordinate_val为正时,结果为负零,或者abscissa_val为负且有限且ordinate_val为正无穷大。
  • abscissa_val为正零且ordinate_val为负时,或者abscissa_val为正且有限且ordinate_val为负无穷时,结果是最接近 pi 的双精度值。
  • abscissa_val为正且ordinate_val为正零或负零,或abscissa_val为正无穷大且ordinate_val为有限时,结果是最接近 pi/2 的双精度值。
  • abscissa_val为负且ordinate_val为正零或负零,或者abscissa_val为负无穷且ordinate_val为有限时,结果是最接近 -pi/2 的双精度值。
  • 当两个参数都是正无穷大时,结果是最接近 pi/4 的双精度值。
  • abscissa_val为正无穷大且ordinate_val为负无穷大时,结果是最接近 3*pi/4 的 double 值。
  • abscissa_val为负无穷且ordinate_val为正无穷时,结果是最接近 -pi/4 的 double 值。
  • 当两个参数都是负无穷大时,结果是最接近 -3*pi/4 的双精度值。

句法 :

public static double atan2(double abscissa_val, double ordinate_val )

参数:该方法接受两个参数:

  • ordinate_val:这是纵坐标的double类型。
  • abscissa_val:这是双精度类型,即横坐标。

返回值:该方法返回点(abscissa_val,ordinate_val)对应的极坐标中点(p,angle)的theta分量。
下面的程序说明了Java.lang.StrictMath.atan2() 方法:
方案一:

java
// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = 0.3 , ord_val = 50.00;
     
    // It returns the theta component
    // in polar coordinates
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}


java
// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = 0.3 , ord_val = -50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}


java
// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = -0.3 ,ord_val = 50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}


java
// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = -0.3 , ord_val = -50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}


输出:
Arc tangent value is: 0.00599992800155516

方案二:

Java

// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = 0.3 , ord_val = -50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}
输出:
Arc tangent value is: 3.135592725588238

方案 3:

Java

// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = -0.3 ,ord_val = 50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}
输出:
Arc tangent value is: -0.00599992800155516

程序 4:

Java

// Java program to illustrate the
// java.lang.StrictMath.atan2()
 
import java.lang.*;
 
public class Geeks{
 
public static void main(String[] args) {
 
    double abs_val = -0.3 , ord_val = -50.00;
     
    // It returns the theta component
    // in polar coordinates
 
    double atan2val = StrictMath.atan2(abs_val,
                                          ord_val);
    System.out.println("Arc tangent value is: "
                                        +atan2val);
 
}
}
输出:
Arc tangent value is: -3.135592725588238