Export (0) Print
Expand All
0 out of 1 rated this helpful - Rate this topic

Math.Atan Method

Returns the angle whose tangent is the specified number.

[Visual Basic]
Public Shared Function Atan( _
   ByVal d As Double _
) As Double
[C#]
public static double Atan(
 double d
);
[C++]
public: static double Atan(
 double d
);
[JScript]
public static function Atan(
   d : double
) : double;

Parameters

d
A number representing a tangent.

Return Value

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/π to convert from radians to degrees.

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 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 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)
      
      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 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 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.
*/

[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 radians;
    double result;

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

// Calculate the arctangent of the previous tangent.
    radians = Math::Atan(result);
    angle = radians * (180/Math::PI);
    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.";

    radians = Math::Atan2(y, x);
    angle = radians * (180/Math::PI);

    Console::WriteLine(line1, Environment::NewLine);
    Console::WriteLine(line2, __box(x), __box(y), __box(radians));
    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 Language Filter 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

See Also

Math Class | Math Members | System Namespace

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.