我想寫一個應用程序,它可以從某個座標(手機底部)給出位置的度數。IOS加速度計/陀螺儀問題
例如...如果我以45度角拿着手機,我想在屏幕上顯示:45度。如果用戶將手機保持在45度並圍繞從耳機到主屏幕按鈕的軸旋轉手機,我想要顯示該角度(0-180度之間)。
我已經實現了加速度計並獲得了x,y,z值,但是,我該如何轉換它們?我知道他們在G的(各自軸上的1G,0.9G,-0.5G),但是轉換是什麼?我甚至會走在正確的軌道上嗎?我應該使用陀螺儀嗎?
謝謝。
我想寫一個應用程序,它可以從某個座標(手機底部)給出位置的度數。IOS加速度計/陀螺儀問題
例如...如果我以45度角拿着手機,我想在屏幕上顯示:45度。如果用戶將手機保持在45度並圍繞從耳機到主屏幕按鈕的軸旋轉手機,我想要顯示該角度(0-180度之間)。
我已經實現了加速度計並獲得了x,y,z值,但是,我該如何轉換它們?我知道他們在G的(各自軸上的1G,0.9G,-0.5G),但是轉換是什麼?我甚至會走在正確的軌道上嗎?我應該使用陀螺儀嗎?
謝謝。
This question有一個例子。您可以使用atan2(y, x)
並將其從弧度轉換爲* (180/M_PI)
。
對於任何實參x和y都不等於零,atan2(y,x)是平面的正x軸與由座標(x,y)給出的點之間的弧度角度) 在上面。
- 上atan2
如果你可以依靠陀螺儀的支持,我建議使用它,因爲你可以得到(歐拉)維基百科的文章直接角度沒有任何計算。請參閱iOS - gyroscope sample並按照裏面的鏈接。
請勿使用UIA加速度計,因爲它很快就會被棄用。較新的CoreMotion框架始終是更好的選擇,即使是舊設備也是如此。