Math.Atan2 Method (Double, Double)
Returns the angle whose tangent is the quotient of two specified numbers.
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.DoubleAn angle, θ, measured in radians, such that π≤θ≤π, and tan(θ) = y / x, where (x, y) is a point in the Cartesian plane. Observe the following:
For (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.
For points on the boundaries of the quadrants, the return value is the following:
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.
If y is 0 and x is 0, θ = 0.
If x or y is NaN, or if x and y are either PositiveInfinity or NegativeInfinity, the method returns NaN.
The return value is the angle in the Cartesian plane formed by the xaxis, and a vector starting from the origin, (0,0), and terminating at the point, (x,y).
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() Imports System Class Sample Public Shared Sub Main() Dim x As Double = 1.0 Dim y As Double = 2.0 Dim angle As Double Dim radians As Double Dim result As Double ' 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. Dim line1 As [String] = "{0}The arctangent of the angle formed by the xaxis and " Dim line2 As [String] = "a vector to point ({0},{1}) is {2}, " Dim line3 As [String] = "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) End Sub 'Main End Class 'Sample ' '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 xaxis and 'a vector to point (1,2) is 1.10714871779409, 'which is equivalent to 63.434948822922 degrees. '
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1