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