Android 方向感測器

鴨脖發表於2012-08-06

Android 方向感測器的型別是  Sensor.TYPE_ORIENTATION

 

 

通過 android.hardware.SensorEvent 返回方向感測器值。

 

方向感測器返回值的單位是角度,有三個值分別是

 

values[0]: 方位角 

values[1]: 傾斜角 

values[2]: 旋轉角

 

如同加速度感測器一樣,首先Android中 x,y,z 定義是以水平放置在的手機的右下腳為參照系座標原點(如下圖)

x 方向就是手機的水平方向,右為正

y 方向就是手機的水平垂直方向,前為正

z 方向就是手機的空間垂直方向,天空的方向為正,地球的方向為負

座標原點是手機螢幕的左下腳。 

 

 

x<0         x>0
                ^
                |
    +-----------+-->  y>0
    |           |
    |           |
    |           |
    |           |   / z<0 
    |           |  /
    |           | /
    O-----------+/  
    |[]  [ ]  []/
    +----------/+     y<0
              /
             /
           |/ z>0 (toward the sky)

    O: Origin (x=0,y=0,z=0)

 

 

方向角的定義是手機y軸 水平面上的投影 與 正北方向的夾角。 (值得範圍是 0 ~ 359 其中0=North, 90=East, 180=South, 270=West)

傾斜角的定義是手機y軸 與水平面的夾角 (手機z軸向y軸方向移動為正 ,值得範圍是 -180 ~ 180)

旋轉角的定義是手機x軸 與水平面的夾角 (手機x軸離開z軸方向為正, 值得範圍是 -90 ~ 90)


相關文章