2011-08-25 8 views
0

사용자가 화면을 터치하는 작은 기능을 프로그래밍하고 싶습니다. 2 개의 화살표가 터치 위치를 향합니다.포인트 간 프로그래밍 각도

중간에 터치 위치가 있고 하단 근처에있는 경우이 각도 또는 방향의 각도를 어떻게 계산합니까?

enter image description here

내가 화살표 소스 사이의 각도를 얻으려면, 그것은 원형이라고 할 수 있습니다, 나는 각도가 터치 위치에 원의 가장자리에서 지적하고 싶어요. 터치 위치에 정확한 각도를 갖기 위해 원에서 화살표를 시작해야하는 위치를 알고 싶습니다.

+0

두 개의 고정 점에서 화살표가 나타나고 터치 위치를 향하게합니다. 터치 이벤트와 좌표를 접촉 할 수 있었습니까? 그렇다면, 그 화살표를 렌더링하는 것은 꽤 기본적인 trig를 포함해야합니다. – James

답변

3

각도와 90도 사이의 각도를 찾으려면 몇 가지 기본 삼각법을 사용할 수 있습니다. 당신이에서 세 번째 점 B를 상상하면

enter image description here

(터치 점의 y를 x)를, 당신은 직각 삼각형하게 될 겁니다. tan (angle) = 반대편/인접한면 또는 (xa - xb)/(yb - yt)이므로 각도를 찾는 것이 간단합니다. 그래서 angle = tan^-1((xa - xb)/(yb - yt)).

+1

실제 코드의 경우'atan2'를 사용하는 것이 좋습니다. x 차이와 y 차이를 별도의 인수로 취해 특수한 경우를 멋지게 처리합니다. –