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님이 말씀하신대로 룩업테이블 만들어서 쓰겠습니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
104995 [질문] 제 삶에 대한 평가와 조언 부탁드립니다. [104] 또하자6915 17/06/30 6915
104994 [질문] 저그 초반 빌드 질문입니다. [8] 완성형폭풍저그1747 17/06/30 1747
104993 [질문] 빠지 추천 부탁드립니다. bymi1748 17/06/30 1748
104992 [질문] 차량 구입관련 질문입니다. [21] IcedAmericano2616 17/06/30 2616
104991 [질문] 네이버 도서 판타지/무협 추천 부탁드립니다. [4] 과일3102 17/06/30 3102
104990 [질문] 뮤지컬 등 좌석 질문입니다 [4] 회전목마2028 17/06/30 2028
104988 [질문] 복싱 배울때 사용할 운동화 추천 부탁드립니다. [2] 쪼아저씨3809 17/06/30 3809
104986 [질문] 제주도 숙소 잡는데 초보라 질문드립니다. [8] 삭제됨2346 17/06/30 2346
104985 [질문] 철권7 스팀 하시는 분 질문이요. [9] 공개무시금지6788 17/06/30 6788
104984 [질문] 인터넷 사이트 연결이 되지 않습니다. [1] rheqkfh1499 17/06/30 1499
104983 [질문] 짧은 2박3일 일본여행 or 국내여행 [13] 언니네 이발관3302 17/06/30 3302
104982 [질문] 정봉주 전의원 사면될까요? [6] 이홍기3533 17/06/29 3533
104981 [질문] 마우스피스 어떻게 고르고 사야하나요? [5] 노래하는몽상가2782 17/06/29 2782
104980 [질문] 이것이 서울이다!!!를 보여주는 디저트 어떤 게 있을까요? [19] 개미핥기3099 17/06/29 3099
104979 [질문] 유럽여행 동선 ..항공 in / out 질문드려요 [5] 피스~2293 17/06/29 2293
104978 [질문] 피부 좀 봐주세요... (사진첨부) [10] 히스조커3336 17/06/29 3336
104977 [질문] 맥주 한캔 + 수면제 괜찮나요. [4] 가렌3838 17/06/29 3838
104976 [질문] 내 컴퓨터... 어떻게 스펙업 하는게 괜찮을까요? [23] Mindow4708 17/06/29 4708
104975 [질문] 마이크로소프트 엑셀 질문드립니다. [1] 딱총새우1668 17/06/29 1668
104974 [질문] 두 점 간의 각도 구하는 방법 [4] 삼신5426 17/06/29 5426
104973 [질문] 회계관련질문 드립니다(미착품이 매출원가에?) [6] 언제나 열일곱4127 17/06/29 4127
104972 [질문] 운전면허 시험과 난이도 [6] Cherish3742 17/06/29 3742
104971 [질문] 전자소송 관련 질문입니다. [2] wish buRn2269 17/06/29 2269
목록 이전 다음
댓글

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