Atan2 Method

# Math.Atan2 Method

Silverlight

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

## Syntax

```'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Function Atan2 ( _
y As Double, _
x As Double _
) As Double
```

#### 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.Double
An 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 x or y is NaN, or if x and y are either PositiveInfinity or NegativeInfinity, the method returns NaN.

## 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).

## Examples

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()

Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
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)
outputBlock.Text &= String.Format("The tangent of 30 degrees is {0}.", result) & vbCrLf

' Calculate the arctangent of the previous tangent.
angle = radians * (180 / Math.PI)
outputBlock.Text &= String.Format("The previous tangent is equivalent to {0} degrees.", angle) & vbCrLf

' 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)

outputBlock.Text &= String.Format(line1, vbCrLf) & vbCrLf
outputBlock.Text &= String.Format(line2, x, y, radians) & vbCrLf
outputBlock.Text &= String.Format(line3, angle) & vbCrLf
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.
'

```

## Version Information

#### Silverlight

Supported in: 5, 4, 3

#### Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

#### XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

## Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.