# Math.Atan2(Double, Double) 메서드

## 정의

탄젠트를 적용했을 때 지정된 두 숫자의 몫이 나오는 각도를 반환합니다.Returns the angle whose tangent is the quotient of two specified numbers.

``````public:
static double Atan2(double y, double x);``````
``public static double Atan2 (double y, double x);``
``static member Atan2 : double * double -> double``
``Public Shared Function Atan2 (y As Double, x As Double) As Double``

#### 매개 변수

y
Double

점의 y 좌표입니다.The y coordinate of a point.

x
Double

점의 x 좌표입니다.The x coordinate of a point.

#### 반환

Double

-π ≤θ ≤π 범위의 각도 θ(라디안) 및 tan(θ) = `y` / `x`입니다(여기서 `x`, `y`는 데카르트 평면 상의 지점임).An angle, θ, measured in radians, such that -π ≤ θ ≤ π, and tan(θ) = `y` / `x`, where (`x`, `y`) is a point in the Cartesian plane. 다음 사항이 적용됩니다.Observe the following: - (`x`, `y`)가 1사분면 안에 있으면 0 < θ < π/2입니다.- For (`x`, `y`) in quadrant 1, 0 < θ < π/2.

- (`x`, `y`)가 2사분면 안에 있으면 π/2 < θ ≤ π입니다.- For (`x`, `y`) in quadrant 2, π/2 < θ ≤ π.

- (`x`, `y`)가 3사분면 안에 있으면 -π < θ < -π/2입니다.- For (`x`, `y`) in quadrant 3, -π < θ < -π/2.

- (`x`, `y`)가 4사분면 안에 있으면 -π/2 < θ < 0입니다.- For (`x`, `y`) in quadrant 4, -π/2 < θ < 0.

점이 사분면의 경계에 있는 경우 반환 값은 다음과 같습니다.For points on the boundaries of the quadrants, the return value is the following: - y가 0이고 x가 음수가 아니면 θ = 0입니다.- If y is 0 and x is not negative, θ = 0.

- y가 0이고 x가 음수이면 θ = π입니다.- If y is 0 and x is negative, θ = π.

- y가 양수이고 x가 0이면 θ = π/2입니다.- If y is positive and x is 0, θ = π/2.

- y가 음수이고 x가 0이면 θ = -π/2입니다.- If y is negative and x is 0, θ = -π/2.

- y가 0이고 x가 0이면 θ = 0입니다.- If y is 0 and x is 0, θ = 0.

`x` 또는 `y`NaN이거나, `x``y`PositiveInfinity 또는 NegativeInfinity이면 이 메서드는 NaN을 반환합니다.If `x` or `y` is NaN, or if `x` and `y` are either PositiveInfinity or NegativeInfinity, the method returns NaN.

## 예제

다음 예제에서는 각도와 벡터의 아크탄젠트를 계산 하는 방법을 보여 줍니다.The following example demonstrates how to calculate the arctangent of an angle and a vector. 결과 값이 콘솔에 표시 됩니다.The resulting value is displayed in the console.

``````// This example demonstrates Math.Atan()
//                           Math.Atan2()
//                           Math.Tan()
using namespace System;
int main()
{
double x = 1.0;
double y = 2.0;
double angle;
double result;

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

// Calculate the arctangent of the previous tangent.
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.
*/
``````
``````// 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 result;

// Calculate the tangent of 30 degrees.
angle = 30;
Console.WriteLine("The tangent of 30 degrees is {0}.", result);

// Calculate the arctangent of the previous tangent.
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.";

Console.WriteLine(line1, Environment.NewLine);
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.
*/
``````
``````' This example demonstrates Math.Atan()
'                           Math.Atan2()
'                           Math.Tan()
Class Sample
Public Shared Sub Main()
Dim x As Double = 1.0
Dim y As Double = 2.0
Dim angle As Double
Dim result As Double

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

' Calculate the arctangent of the previous tangent.
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."

angle = radians *(180 / Math.PI)

Console.WriteLine(line1, Environment.NewLine)
Console.WriteLine(line3, angle)
End Sub
End Class
'
'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)에서 종료 되는 벡터입니다.The return value is the angle in the Cartesian plane formed by the x-axis, and a vector starting from the origin, (0,0), and terminating at the point, (x,y).

이 메서드는 기본 C 런타임을 호출 하 고 정확한 결과 또는 올바른 입력 범위는 서로 다른 운영 체제 또는 아키텍처 간에 달라질 수 있습니다.This method calls into the underlying C runtime, and the exact result or valid input range may differ between different operating systems or architectures.