Java atan2 函数

Java atan2 函数是 Math 库 函数之一,它返回从 X 轴到指定点 (y, x) 的角度(以弧度为单位)。

Java atan2 函数语法

下面显示了 Java 编程语言中 Math.atan2 的基本语法。

static double atan2(double y, double x); //Return Type is Double

// In order to use in program: 
Math.atan2(double y, double x);
  • X:它可以是代表笛卡尔 X 坐标的 double 值或有效的数值表达式。
  • Y:它可以是代表笛卡尔 Y 坐标的 double 值或有效的数值表达式。

Java Math.atan2 函数将返回介于 -π 和 π 之间的值,但特殊情况除外,我们将在下面详细说明。

  • 如果任何参数是“非数字”(NaN),atan2 函数将返回 NaN。
  • 如果第一个参数为正零,第二个参数为正 double 值,则结果为 正零。
  • 当第一个参数为正 double 值,第二个参数为正无穷大时,结果为 正零。
  • 如果第一个参数为负零,第二个参数为负 double 值,则 Java atan2 的结果为 负零。
  • 如果第一个参数为负 double 值,第二个参数为正无穷大,则结果为 负零。
  • 当第一个参数为正零,第二个参数为负 double 值。或者,第一个参数为正 double 值,第二个参数为负无穷大。结果将是 最接近 PI 值。
  • 如果第一个参数为负零,第二个参数为负 double 值。或者,第一个参数为负 double 值,第二个参数为负无穷大,atan2 函数的结果将是 最接近 -PI 值。
  • 如果第一个参数为正 double 值,第二个参数为正零或负零。或者,第一个参数为正无穷大,第二个参数为负 double 值;结果将是 最接近 PI/2 值。
  • 当第一个参数为负 double 值,第二个参数为正零或负零。或者,如果第一个参数为负无穷大且第二个参数为有限值,结果将是 最接近 -PI/2 值。
  • 如果第一个和第二个参数均为正无穷大,则 atan2 函数的结果将是 最接近 PI/4 值。
  • 如果第一个参数为正无穷大,第二个参数为负无穷大,结果将是 最接近 3*(PI/4) 值。
  • 当第一个参数为负无穷大,第二个参数为正无穷大时,结果将是 最接近 -PI/4 值。
  • 如果第一个和第二个参数均为负无穷大,则结果将是 最接近 -3*(PI/4) 值。

Java atan2 函数示例

此程序中的 Math.atan2 函数返回从 X 轴到指定点 (y, x) 的角度(以弧度为单位)。在此 Java 程序中,我们使用正值和负值找到相同的值并显示输出。

package TrigonometricFunctions;

public class Atan2Method {
	public static void main(String[] args) {
		
		System.out.println("\nATAN2 result of Zero Value = " + Math.atan2(0, 10));
		System.out.println("ATAN2 result of Zero Value =  " + Math.atan2(10, 0));	
		System.out.println("\nATAN2 result of Zero Value = " + Math.atan2(0, -5));
		System.out.println("ATAN2 result of Zero Value =  " + Math.atan2(-10, 0));
		
		System.out.println("\nATAN2 result of Positive Value =  " + Math.atan2(4, 5));
		System.out.println("ATAN2 result of Positive Value =  " + Math.atan2(6, 10));

		System.out.println("\nATAN2 result of Negative Value =  " + Math.atan2(-2.50, -5.50));
		System.out.println("ATAN2 result of Negative Value =  " + Math.atan2(-6.25, -12.75));
		
		System.out.println("\nATAN2 result of Both Postive & Negative Value =  " + Math.atan2(3.50, -9.50));
		System.out.println("ATAN2 result of Both Postive & Negative Value =  " + Math.atan2(-4.25, 10.75));
		
		double x = Math.toRadians(30), y = Math.toRadians(90);
		System.out.println("\nATAN2 result of Radians = " + Math.atan2(x, y));
	}
}
Java atan2 Function 1

我们将 Math.atan2 函数与一个参数为零,另一个参数为正或负 double 值一起使用。以下 atan2 语句将查找相应值的角度(以弧度为单位)。

System.out.println("\nATAN2 result of Zero Value = " + Math.atan2(0, 10));
System.out.println("ATAN2 result of Zero Value =  " + Math.atan2(10, 0));	
System.out.println("\nATAN2 result of Zero Value = " + Math.atan2(0, -5));
System.out.println("ATAN2 result of Zero Value =  " + Math.atan2(-10, 0));

接下来,我们直接在正 double 值上使用了 Math.atan2 函数。请参考 Java tan 和 Java atan 函数 Java 程序 以了解反正切函数。

System.out.println("\nATAN2 result of Positive Value =  " + Math.atan2(4, 5));
System.out.println("ATAN2 result of Positive Value =  " + Math.atan2(6, 10));

接下来,我们在负 double 值上使用了 Math.atan2 函数。

System.out.println("\nATAN2 result of Negative Value =  " + Math.atan2(-2.50, -5.50));
System.out.println("ATAN2 result of Negative Value =  " + Math.atan2(-6.25, -12.75));

在这里,我们直接在正数和负数 double 值上使用了 Math.atan2 函数。

System.out.println("\nATAN2 result of Both Postive & Negative Value =  " + Math.atan2(3.50, -9.50));
System.out.println("ATAN2 result of Both Postive & Negative Value =  " + Math.atan2(-4.25, 10.75));

接下来,我们声明了一个 Double 类型的变量并赋值。我们使用了 toRadians Math 函数 将 30、90 转换为等效的弧度。最后,我们使用 System.out.println 语句打印结果。

double x = Math.toRadians(30), y = Math.toRadians(90);
System.out.println("\nATAN2 result of Radians = " + Math.atan2(x, y));