英語で読む

次の方法で共有


Math.Atan2(Double, Double) メソッド

定義

タンジェントが 2 つの指定された数の商である角度を返します。

C#
public static double Atan2(double y, double x);

パラメーター

y
Double

点の y 座標。

x
Double

点の x 座標。

戻り値

角度 θ は、tan(θ) = y / xのようにラジアン単位で測定されます。ここで、(x, y) はデカルト平面内の点です。 次の点に注意してください。

  • クワドラント 1 の (x, y) の場合は、0 < θ < π/2。

  • x(、y) の場合は、象限 2、π/2 < θ ≤ π。

  • x(、y) の場合は、象限 3、-π ≤ θ < -π/2 です。

  • クワドラント 4 の (x, y) の場合は、-π/2 < θ < 0。

クワドラント間の境界上にある点の場合は、次の戻り値になります。

  • y が 0 で x が負数でない場合は、θ = 0。

  • y が 0 で x が負の場合は、θ = π。

  • y が正で x が 0 の場合は、θ = π/2。

  • y が負数で x が 0 の場合は、θ = -π/2。

  • y が 0 かつ x が 0 の場合は、θ = 0。

x または yNaN であるか、x または yPositiveInfinity または NegativeInfinity のいずれである場合、メソッドは NaN を返します。

次の例では、角度とベクトルのアークタンジェントを計算する方法を示します。 結果の値がコンソールに表示されます。

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

注釈

戻り値は、x 軸によって形成されるデカルト平面の角度と、原点 (0,0) から始まり、点 (x,y) で終わるベクトルです。

このメソッドは基になる C ランタイムを呼び出します。正確な結果または有効な入力範囲は、オペレーティング システムやアーキテクチャによって異なる場合があります。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0