2013-02-12 2 views
-1

루아 프로그램과 얼마나 멀리 뛰었는지 측정하는 방법은 무엇입니까? 가급적이면 GPS 위치에서 확인하십시오. 나는 경도와 위도 둘 다 가지고있다.루아와 얼마나 멀리 뛰었는지 측정하십시오

나는 피타고라스의 정리와 함께 폐쇄을 사용
+0

스마트 폰으로? 나는 너를 돕고 싶지만 몇 가지 세부 사항을 추가하고, 너의 질문이 너무 막연하다. – Netfangled

+0

예 스마트 폰의 응용 프로그램이며 conora sdk를 사용합니다 – user1741900

+0

정확하게 이해하면 보수계와 비슷하지만 계단을 측정하는 대신 거리를 측정합니까? 나의 첫 번째 본능은 피타고라스의 정리를 사용하는 것이다. 그리고 총 거리가 필요하고 A 지점에서 B 지점까지의 거리가 아니라면 매 X ms마다 실행하십시오. – Netfangled

답변

0

그렇게 할 :

function odometer(curx, cury) 
    local x = curx or 0 
    local y = cury or 0 
    local total = 0 
    return function(newx, newy) 
     local difx = math.abs(newx - x) 
     local dify = math.abs(newy - y) 
     total = total + math.sqrt(difx * difx + dify * dify) 
     x, y = newx, newy 
     return total 
    end 
end 

당신의 applicationsd의 시작, 당신은 odometer를 호출 할 것이며, 현재의 경도와 위도를 전달 (또는 기본값이됩니다

: 0) : 새 경도와 위도를 전달하면서 이후

myodometer = odometer(longitude, latitude) 

, 당신은, 1000 밀리 myodometer 모든를 호출하는 응용 프로그램을 말 설정

myodometer(newlongitude, newlatitude) 

Here's a link to Lua closures

+0

경도 차와 위도 차가 피타고라스 정리에 필요한 difx와 dify와 동일하지 않습니다. 더 복잡한 [수식] (http://en.wikipedia.org/wiki/Great-circle_distance)을 사용해야합니다. –

관련 문제