Atan2 Method

Math.Atan2 Method

.NET Framework 1.1

Returns the angle whose tangent is the quotient of two specified numbers.

```[Visual Basic]
Public Shared Function Atan2( _
ByVal y As Double, _
ByVal x As Double _
) As Double
[C#]
public static double Atan2(
double y,
double x
);
[C++]
public: static double Atan2(
double y,
double x
);
[JScript]
public static function Atan2(
y : double,
x : double
) : double;```

Parameters

y
The y coordinate of a point.
x
The x coordinate of a point.

Return Value

An angle, &theta;, measured in radians, such that -&pi; &le; &theta; &le; &pi;, and tan(&theta;) = y/ x, where (x, y) is a point in the Cartesian plane. Observe the following:

• For (x, y) in quadrant 1, 0 < &theta; < &pi;/2.
• For (x, y) in quadrant 2, &pi;/2 < &theta; &le; &pi;.
• For (x, y) in quadrant 3, -&pi; < &theta; < -&pi;/2.
• For (x, y) in quadrant 4, -&pi;/2 < &theta; < 0.

Remarks

The return value is the angle in the Cartesian plane formed by the x-axis, and a vector starting from the origin, (0,0), and terminating at the point, (x,y).

Example

```[Visual Basic]
' 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 result As Double

' Calculate the tangent of 30 degrees.
angle = 30
radians = angle *(Math.PI / 180)
Console.WriteLine("The tangent of 30 degrees is {0}.", result)

' Calculate the arctangent of the previous tangent.
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 x-axis and "
Dim line2 As [String] = "a vector to point ({0},{1}) is {2}, "
Dim line3 As [String] = "which is equivalent to {0} degrees."

angle = radians *(180 / Math.PI)

Console.WriteLine(line1, Environment.NewLine)
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 x-axis and
'a vector to point (1,2) is 1.10714871779409,
'which is equivalent to 63.434948822922 degrees.
'

[C#]
// 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 result;

// Calculate the tangent of 30 degrees.
angle = 30;
Console.WriteLine("The tangent of 30 degrees is {0}.", result);

// Calculate the arctangent of the previous tangent.
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.";

Console.WriteLine(line1, Environment.NewLine);
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.
*/

[C++]
// This example demonstrates Math.Atan()
//                           Math.Atan2()
//                           Math.Tan()
#using <mscorlib.dll>
using namespace System;

int main()
{
double x = 1.0;
double y = 2.0;
double angle;
double result;

// Calculate the tangent of 30 degrees.
angle = 30;
Console::WriteLine(S"The tangent of 30 degrees is {0}.", __box(result));

// Calculate the arctangent of the previous tangent.
Console::WriteLine(S"The previous tangent is equivalent to {0} degrees.", __box(angle));

// Calculate the arctangent of an angle.
String* line1 = S"{0}The arctangent of the angle formed by the x-axis and ";
String* line2 = S"a vector to point ({0},{1}) is {2}, ";
String* line3 = S"which is equivalent to {0} degrees.";

Console::WriteLine(line1, Environment::NewLine);
Console::WriteLine(line3, __box(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.
*/
```

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard