Math.Atan2()是内置的Math类方法,该方法返回其切线为两个指定数字的商的角度。本质上,它返回一个角度θ(以弧度为单位),该角度的值介于-π和π之间。这是正x轴和点(x,y)之间的逆时针角度。
用法:
public static double Atan2(double value1, double value2)
参数:
-
value1:类型System.Double的点的y坐标。
value2:类型点的x坐标系统双。
返回类型:返回System.Double类型的角度Θ。
注意:角度θ(以弧度为单位),使-π≤θ≤π,且tan(θ)= value1 /value2,其中(value1,value2)是笛卡尔平面中的点。返回值有两个条件:
- 当点位于笛卡尔平面中时
- 当点位于象限的边界上时
以下是演示当点位于笛卡尔平面中时的Math.Atan2()方法的程序:
- 示例1:如果point(value1,value2)位于第一象限,即0
// C# program to demonstrate the // Math.Atan2() Method when point // lies in first quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, 10) * (180 / Math.PI)); } }
输出:45
- 示例2:如果point(value1,value2)位于第二象限即π/2
// C# program to demonstrate the // Math.Atan2() Method when point // lies in second quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, -10) * (180 / Math.PI)); } }
输出:135
- 示例3:如果point(value1,value2)位于第三象限,即-π
// C# program to demonstrate the // Math.Atan2() Method when point // lies in third quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, -10) * (180 / Math.PI)); } }
输出:-135
- 示例4:如果point(value1,value2)位于第四个象限,即-π/2
// C# program to demonstrate the // Math.Atan2() Method when point // lies in fourth quadrant using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, 10) * (180 / Math.PI)); } }
输出:-45
以下是演示当点位于象限边界上时的Math.Atan2()方法的程序:
- 示例1:如果value1为0且value2不为负,即θ= 0
// C# program to demonstrate the // Math.Atan2() Method when value1 // is 0 and value2 is not negative using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, 10) * (180 / Math.PI)); } }
输出:
0
- 示例2:如果value1为0且value2为负,即θ=π
// C# program to demonstrate the // Math.Atan2() Method when value1 // is 0 and value2 is negative using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, -10) * (180 / Math.PI)); } }
输出:180
- 示例3:如果value1为正且value2为0,即θ=π/2
// C# program to demonstrate the // Math.Atan2() Method value1 is // positive and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(10, 0) * (180 / Math.PI)); } }
输出:90
- 示例4:如果value1为负且value2为0,即θ=-π/2
// C# program to demonstrate the // Math.Atan2() Method value1 is // negative and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(-10, 0) * (180 / Math.PI)); } }
输出:-90
- 示例5:如果value1为0且value2为0,即θ= 0
// C# program to demonstrate the // Math.Atan2() Method value1 is // 0 and value2 is 0 using System; class Geeks { // Main method public static void Main() { // using Math.Atan2() Method & // converting result into degree Console.Write(Math.Atan2(0, 0) * (180 / Math.PI)); } }
输出:0
要记住的重要点:如果value1或value2为NaN,或者value1和value1为PositiveInfinity或NegativeInfinity,则该方法返回NaN。
例:
// C# program to demonstrate the Math.Atan2()
// method when arguments are of type either
// NaN, PositiveInfinity or NegativeInfinity
using System;
class Geeks {
// Main method
public static void Main()
{
double val1 = 0;
double val2 = Double.NaN;
Console.WriteLine(Math.Atan2(val1, val2));
double val3 = Double.NaN;
double val4 = Double.NaN;
Console.WriteLine(Math.Atan2(val3, val4));
double val5 = Double.NaN;
double val6 = Double.PositiveInfinity;
Console.WriteLine(Math.Atan2(val5, val6));
double val7 = Double.PositiveInfinity;
double val8 = Double.NegativeInfinity;
Console.WriteLine(Math.Atan2(val7, val8));
}
}
输出:
NaN NaN NaN NaN
参考:https://msdn.microsoft.com/en-us/library/system.math.atan2
相关用法
- C# DateTimeOffset.Add()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Dictionary.Add()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Exp()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自Mithun Kumar大神的英文原创作品 C# | Math.Atan2() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。