次の方法で共有


Math.Atan メソッド

タンジェントが指定数となる角度を返します。

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

パラメータ

  • d
    タンジェントを表す数。

戻り値

-π/2 ≤ θ ≤ π/2 の、ラジアンで示した角度 θ。

または

dNaN に等しい場合は NaNdNegativeInfinity に等しい場合は倍精度に丸めた -π/2 (-1.5707963267949)。 dPositiveInfinity に等しい場合は倍精度に丸めた π/2 (1.5707963267949)。

解説

戻り値が正の場合は x 軸から反時計回りに測定した角度を、負の場合は時計回りに測定した角度を表します。

戻り値に 180/π を乗算して、ラジアンを度に変換します。

使用例

 
' 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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Math クラス | Math メンバ | System 名前空間