Java中的 StrictMath atan2() 方法
Java.lang.StrictMath.atan2()是Java中的一个内置方法,用于计算-pi和pi之间范围内的 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