Skip to content

Atan2

Arctangent 를 각도 구하기에 사용하는 이유

모든 프로그래밍 언어에는 아크탄젠트를 계산할 수 있도록 Math 모듈에 atan(y / x)과 atan2(y, x) 함수를 지원한다.

아크탄젠트 (arctangent)는 역탄젠트라고도 하며 탄젠트의 역함수 (Inverse function)이다.

Atan2_-trigonometry-_explain.png

아크탄젠트를 이용하면 위 사진에서의 θ의 각도를 구할 수 있다.

좀 더 자세히 설명

\(tan(θ) = a / b\) 이므로 \(a / b = x\) 라 할 때,

Return Range

Atan2_-_return_range.png

atan2는 두 점 사이의 상대좌표(x, y)를 받아 절대각을 -π ~ π의 라디안 값으로 반환한다. (-180 ~ 180도)

참고로, atan은 두 점 사이의 탄젠트값을 받아 절대각을 -π/2 ~ π/2 의 라디안 값으로 반환한다. (-90 ~ 90도)

각도를 계산할 때 atan대신 atan2를 사용하는 이유

Atan2_-_cartesian_coordinate_system.png

+극과 -극이 표시되는 데카르트 좌표계에서 사용할 때 유용하다.

atan2 함수는 점 A로부터 점 B가 상대적으로 어느 위치에 있는지를 파라미터로 받는데, 상대적인 위치이기 때문에 파라미터 x나 y가 음수값이 될 수 있다.

하지만 atan 함수를 사용한다면 파라미터가 직선의 기울기이므로 결과값은 방향 개념이 상실된 두 점 사이의 각도가 되어버린다.

See also

Favorite site