关于Android Sensor的文章

来源:互联网 发布:异能赌石淘宝完本小说 编辑:程序博客网 时间:2024/06/05 02:39

 Android 方向传感器 (Orientation Sensor)

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)

============================================================================

 

Android 加速度传感器的类型是  Sensor.TYPE_ACCELEROMETER

 

通过 android.hardware.SensorEvent 返回加速度传感器值。

 

加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是

 

values[0]: x-axis 方向加速度 

values[1]: y-axis 方向加速度 

values[2]: z-axis 方向加速度 

 

 

其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点(如下图)

x 方向就是手机的水平方向,右为正

y 方向就是手机的水平垂直方向,前为正

y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负

 

 

 

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

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

 

 

需要注意的是,由于地球固有的重力加速度g (值为9.8 m/s^2),

因此现实中实际加速度值应该是 z方向返回值 - 9.8 m/s^2.

比如你以 2 m/s^2 的加速度将手机抛起,这时z方向的返回值应该是 11.8 m/s^2.

反之若以手机以m/s^2 的加速度坠落,则z方向的返回值应该是 7.8 m/s^2.

x,y方向则没有上述限制。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/stevenliyong/archive/2009/09/15/4555331.aspx