2013-08-20 4 views
0

나는 AR을 약간 실험하고있다. 나는 방위에서 나침반에서 바라보고있는 방향의 각도를 가지고있다. 나는 내 자신의 위치와 다른 대상 (POI)의 위치를 ​​알고 위치는 위도와 경도의 형태로 제공됩니다.찾고있는 방향과 위도/경도 사이의 각도

이제 내가 바라는 방향과 POI 사이의 각도를 계산할 수있는 방법을 알고 싶습니다.

답변

0

도트 제품 :

a . b = ||a|| ||b|| cos(t) 
t = acos((a.b)/(||a|| ||b||)) 


||vector|| = length of vector (magnitude) 
t   = angle between the two vectors 

당신은 아마 당신이 각면이에게 몇 번을해야 할 것이다. (3D에 2D에 대한 1 배, 2 배)

또는 :

/| 
/| 
h/| y 
/ | 
/____| 
    x 

t 우리는 가정합니다 왼쪽 하단이며,이 개체가, 오른쪽 상단은 다른 객체가 될 것입니다

x = obj2.x - obj1.x 
y = obj2.y - obj1.y 
h = sqrt((x*x) + (y*y)) 

sin(t) = y/h 
cos(t) = x/h 
tan(t) = y/x 

t = asin(y/h) 
t = acos(x/h) 
t = atan(y/x) 

첫 번째 방법을 더 좋게 만드는 것은 계정이 현재의 로테이션이기 때문입니다. 두 번째 방법 (atan, asin 및 acos 사용)은 그렇지 않습니다.

+0

안녕하세요, 귀하의 답변에 감사드립니다. 나는 이것에 대해 스스로 생각했다. 그러나 위도 = x와 경도 = y라고 가정 할 수 있을까? 아니면이 잘못을 이해합니까? 그리고 나침반의 표제는 어디서 들어 왔습니까? 아니면 그냥 나침반 표제를 사용하여 목적지에서 새로운 위도/경도 지점을 작성해야합니까? 이 경우 나는 bearing = compass heading이라고 가정 할 수 있습니까? Sry는 내가 이해하지 못했지만 AR, 나침반, 위도/경도 및 이런 종류의 물건을 새로 입었습니다.) – user1990524

+0

@ user1990524 위도/경도 좌표계는 직사각형이 아니지만 직사각형이라고 가정하면 대답에 따르면 차이점은 휴대용 나침반으로 측정 할 수있는 것보다 훨씬 작습니다. 그러나 당신이 계산하는 표제는 나침반처럼 자기 북쪽이 아니라 진북에 상대적인 것입니다. 적절한 나침반 헤딩을 얻으려면, 당신이 속한 지역에 대한 [자기 편각] (http://en.wikipedia.org/wiki/Magnetic_declination)을 사용하여 비밀리에해야합니다. [기울기 계산기] (http : // www.ngdc.noaa.gov/geomag-web/#declination)이 도움이 될 수 있습니다. – Joe

+0

아이폰에서 나침반을 사용합니다. 그리고 당신은 진정한 헤딩을 할 수 있습니다 (나는 그것이 지리적 인 북쪽을 의미한다고 생각합니다). 그래서 자기 편각을 사용할 필요가 없습니다. – user1990524