atan2 함수

OpenCV/미분류 / / 2010. 6. 29. 22:10
반응형
자꾸 헷갈리지 않도록 정리해봤다.



첫번째 열은 0~360사이의 각도

두번째 열은 polar coordinates ( 10, theta )를 Cartesian coordinates(x,y)로 변환,
반지름이 10인 원 주변에 있는 점들의 좌표들이 출력되게 된다. 
몇사분면에 속하고 양의 x축과 몇도의 각도를 이루는지 확인하기 쉬움.

세번째 열은 atan2 함수를 이용하여 다시 원래 각도를 출력한 것이다. 
두번째 열에 있는 값을 입력으로 해서 atan2 함수를 사용해서 결과를 얻었다. 
3,4분면에 해당하는 좌표들은 -180 ~ -0 범위를 가지기 때문에 360를 더해주어야  180~360으로 바뀌게 된다. 

네번째 열은 0~360도 범위로 변환한 결과.

0 (10.0,0.0)  0.000000 0.000000
10 (9.8,1.7)  10.000000 10.000000
20 (9.4,3.4)  20.000000 20.000000
30 (8.7,5.0)  30.000000 30.000000
40 (7.7,6.4)  40.000001 40.000000
50 (6.4,7.7)  50.000000 50.000000
60 (5.0,8.7)  59.999999 60.000000
70 (3.4,9.4)  70.000000 70.000000
80 (1.7,9.8)  80.000000 80.000000
90 (0.0,10.0)  90.000001 90.000000
100 (-1.7,9.8)  100.000001 100.000000
110 (-3.4,9.4)  110.000000 110.000000
120 (-5.0,8.7)  119.999999 120.000000
130 (-6.4,7.7)  130.000002 130.000000
140 (-7.7,6.4)  140.000002 140.000000
150 (-8.7,5.0)  150.000001 150.000000
160 (-9.4,3.4)  160.000000 160.000000
170 (-9.8,1.7)  170.000002 170.000000
180 (-10.0,0.0)  180.000001 180.000000
190 (-9.8,-1.7)  -170.000074 189.999924
200 (-9.4,-3.4)  -160.000074 199.999924
210 (-8.7,-5.0)  -150.000071 209.999924
220 (-7.7,-6.4)  -140.000073 219.999924
230 (-6.4,-7.7)  -130.000072 229.999924
240 (-5.0,-8.7)  -120.000073 239.999924
250 (-3.4,-9.4)  -110.000073 249.999924
260 (-1.7,-9.8)  -100.000073 259.999939
270 (-0.0,-10.0)  -90.000073 269.999939
280 (1.7,-9.8)  -80.000073 279.999939
290 (3.4,-9.4)  -70.000072 289.999939
300 (5.0,-8.7)  -60.000072 299.999939
310 (6.4,-7.7)  -50.000072 309.999939
320 (7.7,-6.4)  -40.000073 319.999939
330 (8.7,-5.0)  -30.000071 329.999939
340 (9.4,-3.4)  -20.000072 339.999939
350 (9.8,-1.7)  -10.000072 349.999939
360 (10.0,-0.0)  -0.000072 359.999939


이미지에서 얻은 좌표를 사용하는 경우에는 다른 결과가 나올수 있는데 
왼쪽위가 (0,0)이고 아래로 y좌표가 증가하기 때문이다. 





반응형

해보고 확인한 것을 문서화하여 기록합니다.


부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.

질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">