タンジェントが 2 つの指定された数の商である角度を返します。
Public Shared Function Atan2( _
ByVal y As Double, _ ByVal x As Double _) As Double
[C#]
public static double Atan2(doubley,doublex);
[C++]
public: static double Atan2(doubley,doublex);
[JScript]
public static function Atan2(
y : double,x : double) : double;
パラメータ
- y
点の y 座標。 - x
点の x 座標。
戻り値
-π ≤ θ ≤ π および tan(θ) = y/ x の、ラジアンで示した角度 θ。(x, y) はデカルト座標の点を示します。次の点に注意してください。
- クワドラント 1 の (x, y) の場合は 0 < θ < π/2。
- クワドラント 2 の (x, y) の場合は π/2 < θ ≤ π。
- クワドラント 3 の (x, y) の場合は -π < θ < -π/2。
- クワドラント 4 の (x, y) の場合は -π/2 < θ < 0。
解説
戻り値は、デカルト座標の x 軸と、原点 (0,0) から始まり点 (x,y) で終了するベクタによって構成される角度です。
使用例
' 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