2009-09-04 77 views
7

我正在尋找3D空間中的iPhone設備。我可以使用緯度/經度來檢測物理位置,我可以使用磁力計來確定他們所面對的方向,並且我可以使用加速度計來確定他們的設備是如何定向的,但是我無法找出將設備的高度從地面上移開的方法。如何檢測iPhone的高度(用於增強現實遊戲)?

具體來說,我需要知道用戶是蹲下還是舉起手朝天花板(大約2米/ 6英尺的不同)。

我貼的是什麼,我想在我的博客做了更詳細的描述:http://pushplay.net/blog_detail.php?id=36

我很想任何建議,如何連假這類信息的。我真的很想要那種需要躲避和晃動的交互性和動作,而不是讓某人坐下來仰視電話 - 這種方式可以讓人們用Wii玩「作弊」...

+0

GPS不能給你身高嗎?我認爲它確實(編輯):我的意思是海拔......我認爲GPS會返回高程數據 – 2009-09-04 16:29:50

+1

這個問題,我認爲會在確定「樓層」的位置。如果用戶在丹佛,他們的地板距離海平面約5,200英尺! – 2009-09-04 16:31:15

+0

您將無法以任何有用的準確性獲取該位置。 也許你可以裝備一些與特徵識別/特徵跟蹤,但是這是一個困難的問題(TM) – hop 2009-09-04 17:13:00

回答

7

最靠近我可以看到你正在尋找的是使用加速計/磁力計作爲慣性跟蹤儀。您必須在啓動時將用戶初始位置校準到「基準」位置,然後不斷在後臺線程上採樣傳感器以構建移動模型。 This post討論提高加速度計功能的默認採樣率,以便您可以獲得用戶移動的相當精細的圖像。

我不知道這將解決你對人家根本釣魚以產生所需的行動裝置的關注,但你有罷工是在解釋運動和允許有差別的運動過於嚴格的平衡

+0

這就是我傾向於現在,除非我能找到一個更好的(好吧,好吧,更容易)解決方案...: - )我也不確定這是否會與我將要測量手機的角度相沖突...很多變量需要跟蹤! – 2009-09-04 16:45:24

+0

哈哈耶我聽到你。由於您正在測量(delta)x,(delta)y和delta z以構建您的運動圖,因此它不應與您的角度測量值相沖突。例如,如果用戶需要繪製analemma(無窮大符號),則將比較隨時間採樣的點與邏輯「開始」點和時間的比較來構建地圖。 – 2009-09-04 16:49:41

+0

好評。解決了我的問題.... THANKs budy – Saad 2014-01-24 14:42:35

0

我不熟悉iphone。但它可能需要一個硬件插件。 (你可能不想這麼做)。在思考這個問題之後,我知道如何通過光或更具體的激光器。你在地板上發射激光並記錄回來的時間。實際上,將這些硬件放在一起並不是很多,我相信iPhone可以連接外圍設備。除非osmeone可以勝過我,否則我說他無法用圖像做到這一點。

1

的CoreLocation東西給你藏漢標高緯度/長,所以你可能會使用雖然有一些顯著的問題與此:

  • 無法在室內正常工作(不用於衛星導航的問題,是遊戲的問題)
  • 您的用戶將不得不「校準」(可能通過將手機放在地板上)他們使用的每個位置!
  • 事實上,你需要開始保留一個「以前校準位置」的列表......這可能會在一個房子(例如多個房間和樓層)中變化很大。可能會妨礙遊戲。
  • 由於高程變化頻繁,不能用於移動運輸(火車,飛機,汽車...甚至行走)。

因此,我認爲使用加速度計作爲高度代理是比確定絕對高度更可取的路線。