PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2017/06/29 19:29:42
Name 삼신
Subject [질문] 두 점 간의 각도 구하는 방법
쉽게 예를 들어 A (0,0) 과 B (10,10) 두 점간의 각도를 구하고 싶습니다. 일단 답은 45도죠...

근데 조건이 있습니다.
함수도 못쓰고... 정수 연산만 사용해야 합니다. (C++ int 연산자로만 계산해야함.)
atan 함수를 사용하면 두 좌표간 각도를 쉽게 계산 할수 있으나 함수는 사용 불가입니다. 당연히 정수로 만들어진 함수는 가능하구요.
성능을 조금 떨어뜨려서 floating 연산을 int 연산으로 모델링 가능하다면... 형변환 방법도 괜찮습니다.

혹시 아시는 분은 답변 부탁드립니다.


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
17/06/29 19:52
수정 아이콘
두점과 x축에 평행한 직선 사이의 각도를 구하고 싶으신 거죠?
필요하신 resolution만큼 tangent table을 만드신 후에 search 하시는 편이 가장 쉬울 것 같습니다.
즉 tan(x)에 적당히 큰 수 N을 곱해서 integer로 floor시킨 배열을 미리 저장해두시고, (delta y) * N / (delta x)를 가지고 search를 (필요하다면 binary search를) 하는거죠.
이과감성
17/06/29 21:00
수정 아이콘
아크탄젠트 테일러전개.. 하면되지않나요?
17/06/29 21:16
수정 아이콘
일단 두 점을 지나는 직선을 함수로 표현했을 때, 기울기 값을 알 수 있습니다(delta y / delta x, 주어진 예에서는 10/10 = 1). 그 값이 x축과 두 점을 지나는 직선이 이루는 각도이기 때문에, tan(theta)를 Taylor expansion한 함수 f(theta)로 표현하고 f(theta)=기울기 에 대한 방정식을 수치적으로 풀면 구할 수 있겠네요. 참고로 tan의 Taylor expansion은 wiki를 찾아보시면 쉽게 구할 수 있습니다. 아니면 sin, cos을 가지고 구하셔도 되고요.
Supervenience
17/06/29 21:31
수정 아이콘
저라면 이런 가혹한 조건이라면 그냥 hodduc님이 말씀하신대로 룩업테이블 만들어서 쓰겠습니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
175912 [질문] 미국의 의료복지는 어떤가요? [3] 스물다섯대째뺨262 24/04/23 262
175911 [질문] PC 견적 문의드립니다. [5] 이동파473 24/04/23 473
175910 [질문] 복약 저용량 여러 번 vs 고용량 한 번 뭐가 더 간에 부담이 될까요? [5] 공부안하고왜여기825 24/04/23 825
175909 [질문] 골프채 질문입니다 [18] vi20nq680 24/04/23 680
175908 [질문] 게이밍 UMPC 추천 부탁드립니다. [8] 구디구디949 24/04/23 949
175907 [질문] 남자가 여자 이름일때 좋은 점? [29] goldfish1610 24/04/23 1610
175906 [질문] 아이폰만 쓰는건 별로일까요? [14] 1등급 저지방 우유1006 24/04/23 1006
175905 [질문] 목 디스크 치유되신분 있나요? [4] 뵈미우스691 24/04/23 691
175904 [질문] 필라테스 + 요가 가격은 보통 어느정도 할까요? [1] 그때가언제라도620 24/04/23 620
175903 [질문] SF소설 추천을 받고 싶습니다! [19] 수금지화목토천해822 24/04/23 822
175901 [질문] 질레트 면도날 잘 아는 분들 계실 려나요? [4] 블랙리스트1339 24/04/22 1339
175900 [질문] 프로스포츠들의 극적인 기술적 진화가 있을까요? [26] 서귀포스포츠클럽1853 24/04/22 1853
175899 [질문] 보기 싫은 피지알 하단 광고 질문입니다.. [19] Chrollo1648 24/04/22 1648
175898 [삭제예정] 골프 라운딩 적정횟수 질문 [13] 삭제됨1368 24/04/22 1368
175897 [질문] 미밴드 시간 알람 기능 있나요? [2] 941 24/04/22 941
175896 [질문] 스마트밴드 추천 부탁 드립니다. deadbody409 24/04/22 409
175895 [질문] 재테크 초보 - ISA 계좌의 3년 만기가 어떤 건가요? [5] 놔라917 24/04/22 917
175894 [질문] 팝에 관심없는 사람도 들으면 알만한 테일러 스위프트 노래가 뭐 있을까요? [16] 유료도로당1407 24/04/22 1407
175893 [질문] 등산장비 하나도 없는데 등산모임 갑니다. [21] 따식이1256 24/04/22 1256
175892 [질문] 자동차 석회물이 맞는지 다시 여쭙니다 [3] 라리704 24/04/22 704
175891 [질문] [살짝 답정너] 이거 제가 기분 상하는게 맞을까요? [31] Alfine1711 24/04/22 1711
175890 [질문] 무협지 판타지 소설용 이북 추천 부탁드립니다. 아이패드? [12] 플래쉬602 24/04/22 602
175889 [질문] 갯벌체험을 하려고 하는데 추천해주실 곳 있을까요? [7] 욱쓰579 24/04/22 579
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로