Android Sensors (3) 傳感器坐標系統


 

傳感器坐標系統

  

  通常,sensor framework使用一個標准的三軸坐標系統來表達數值。

  對於大多數傳感器來說,坐標系統是相對於設備屏幕來說的。

  當一個設備被放在其默認的方向上時,X軸是水平指向右的,Y軸是垂直向上的,Z軸是指向屏幕正面之外的,即屏幕背面是Z的負值。

  如圖:

 

  這個坐標系被下面的傳感器所使用:

  

  比較重要的一點就是,在屏幕方向改變的時候,坐標系中的軸是不會交換的。

  即,當設備移動的時候傳感器的坐標系不會改變。這一點和OpenGL坐標系統一樣。

  需要明白的另一點是,你不能假設設備的自然(默認)方向是豎直的(portrait),自然方向對於很多的平板設備來說是橫向的(landscape)。

  坐標系永遠是基於設備的自然方向的。

  最后一點,如果你的應用需要將傳感器數據和屏幕顯示匹配:

  你需要使用 getRotation()方法來決定屏幕的旋轉值,然后使用 remapCoordinateSystem() 方法將傳感器坐標映射到屏幕坐標上。

  即便你的manifest只指定了橫向顯示,你也需要做這些。

 

  如果想知道更多關於傳感器坐標系統的信息,包括如何處理屏幕旋轉,可以看看 One Screen Turn Deserves Another

  有一些傳感器和方法使用相對於世界的參考幀的坐標系。

  這些傳感器和方法返回的數據是反應設備運動或設備相對於地球的位置的信息。更多信息,請見getOrientation() 方法,getRotationMatrix() 方法,Orientation Sensor, 和 Rotation Vector Sensor

 

參考資料

  API Guides:Sensors Overview

  http://developer.android.com/guide/topics/sensors/sensors_overview.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM