2차원 평면 상에서 어느 한 점의 위상(phase)을 알고 싶을 때, 쉽게 말해서 x축과 이루는 각을 알고 싶을 때 사용할 수 있는 함수가 atan2(아크 탄젠트 투) 이다. 이 함수의 원형은 다음과 같다.
1 |
double atan2 ( double y, double x) |
이 함수는 atan(y/x) 결과 값을 반환하며, 반환값의 범위는 -pi 부터 +pi 까지이다. (즉, -3.14 ~ + 3.14)
이 함수를 사용할 때 주의할 점은 점의 y좌표를 먼저 써주어야 한다는 것이다. 너무나 당연스럽게 (x, y) 좌표 순서대로 써줄 경우 잘못된 결과를 얻게 될 수 있다. 몇몇 2차원 좌표에 대하여 atan2 함수를 적용하였을 때 결과값을 아래 그림에 정리하였다. 다시 한 번 말하지만, (x, y) 좌표가 서로 뒤바뀌어 써주어야 한다는 점에 주의하기 바란다.
'C/C++언어' 카테고리의 다른 글
3점의 끼인각을 계산하는 소스 (0) | 2013.12.17 |
---|---|
printf의 흔하진 않지만 때론 굉장히 필요한 포맷들 (0) | 2013.10.23 |
memcpy에 대한 고찰... (0) | 2012.11.27 |
간단한 텍스트 뒤집기, 메모리 복사 함수 (0) | 2012.10.19 |
[ VC11-C++11 ] range base for - 1 (0) | 2012.09.24 |