Math.Atan2 Method
Returns the angle whose tangent is the quotient of two specified numbers.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Parameters
- y
- Type: System.Double
The y coordinate of a point.
- x
- Type: System.Double
The x coordinate of a point.
Return Value
Type: System.DoubleFor (x, y) in quadrant 1, 0 < θ < π/2.
For (x, y) in quadrant 2, π/2 < θ ≤ π.
For (x, y) in quadrant 3, -π < θ < -π/2.
For (x, y) in quadrant 4, -π/2 < θ < 0.
If y is 0 and x is not negative, θ = 0.
If y is 0 and x is negative, θ = π.
If y is positive and x is 0, θ = π/2.
If y is negative and x is 0, θ = -π/2.
The following example demonstrates how to calculate the arctangent of an angle and a vector. The resulting value is displayed in the console.
// This example demonstrates Math.Atan() // Math.Atan2() // Math.Tan() using System; class Sample { public static void Main() { double x = 1.0; double y = 2.0; double angle; double radians; double result; // Calculate the tangent of 30 degrees. angle = 30; radians = angle * (Math.PI/180); result = Math.Tan(radians); Console.WriteLine("The tangent of 30 degrees is {0}.", result); // Calculate the arctangent of the previous tangent. radians = Math.Atan(result); angle = radians * (180/Math.PI); Console.WriteLine("The previous tangent is equivalent to {0} degrees.", angle); // Calculate the arctangent of an angle. String line1 = "{0}The arctangent of the angle formed by the x-axis and "; String line2 = "a vector to point ({0},{1}) is {2}, "; String line3 = "which is equivalent to {0} degrees."; radians = Math.Atan2(y, x); angle = radians * (180/Math.PI); Console.WriteLine(line1, Environment.NewLine); Console.WriteLine(line2, x, y, radians); Console.WriteLine(line3, angle); } } /* This example produces the following results: The tangent of 30 degrees is 0.577350269189626. The previous tangent is equivalent to 30 degrees. The arctangent of the angle formed by the x-axis and a vector to point (1,2) is 1.10714871779409, which is equivalent to 63.434948822922 degrees. */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.