IT 스터디/C, C++

atan2() 함수의 의미와 사용

KimDol2 2023. 6. 22. 12:55

 

 

흔히 두 점 사이의 각도를 구할 때 사용하는 함수가 atan2(y, x) 함수이다. 아크탄젠트는 탄젠트의 역함수인데 C++ 에서 사용하는 방법은 아래 IBM 페이지에 자세히 나와 있다.

 

 

atan() – atan2() — 역탄젠트 계산

형식 #include double atan(double x); double atan2(double y, double x); 설명 atan() 및 atan2() 함수는 각각 x 및 y/x의 역탄젠트를 계산합니다. 리턴값 atan() 함수는 -π/2에서 π/2의 라디안 범위에서 값을 리턴합니다.

www.ibm.com

 

두 점 사이의 각도를 구할 때 atan2() 함수를 사용하긴 했는데 정확히 어떤 의미 인지 함수를 그려보자. 먼저 아래 그림을 보면 각 $ \theta $ 에 대한 sin, cos, tan 값을 구할 수 있는데, 

 

각 $ \theta $ 의 변화에 따른 tan 함수와 tan$^{-1}$ 함수 즉, 아크탄젠트 함수는 각각 아래와 같다.

tangent 함수와 arctangent 함수

tan 함수의 입력은 radian 값이며, atan2 함수의 출력은 radian 값 이다. 실제 각도를 구하기 위해서는 atan2 함수의 출력을 radian to degree 로 변환하면 된다. 각도 변환은 각각 다음과 같다. degree to radian 인 경우 π/180 (= 0.0174533)를 곱하면 되고, radian to degree 인 경우 180/π (= 57.2958)를 곱하면 된다.

 

 

 

반응형