Math.Atan Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Returns the angle whose tangent is the specified number.

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

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Function Atan ( _
    d As Double _
) As Double
[SecuritySafeCriticalAttribute]
public static double Atan(
    double d
)

Parameters

Return Value

Type: System.Double
An angle, θ, measured in radians, such that -π/2 ≤θ≤π/2.
-or-
NaN if d equals NaN, -π/2 rounded to double precision (-1.5707963267949) if d equals NegativeInfinity, or π/2 rounded to double precision (1.5707963267949) if d equals PositiveInfinity.

Remarks

A positive return value represents a counterclockwise angle from the x-axis; a negative return value represents a clockwise angle.

Multiply the return value by 180/Math.PI to convert from radians to degrees.

Examples

The following example demonstrates how to calculate the arctangent of a value and display it to 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 radians As Double
      Dim result As Double

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

      ' Calculate the arctangent of the previous tangent.
      radians = Math.Atan(result)
      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."

      radians = Math.Atan2(y, x)
      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.
'
// This example demonstrates Math.Atan()
//                           Math.Atan2()
//                           Math.Tan()
using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      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);
      outputBlock.Text += String.Format("The tangent of 30 degrees is {0}.", result) + "\n";

      // Calculate the arctangent of the previous tangent.
      radians = Math.Atan(result);
      angle = radians * (180 / Math.PI);
      outputBlock.Text += String.Format("The previous tangent is equivalent to {0} degrees.", angle) + "\n";

      // 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);

      outputBlock.Text += String.Format(line1, "\n") + "\n";
      outputBlock.Text += String.Format(line2, x, y, radians) + "\n";
      outputBlock.Text += String.Format(line3, angle) + "\n";
   }
}
/*
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.

See Also

Reference