关于Android Sensor的文章

本文详细介绍了Android平台上的方向传感器和加速度传感器的工作原理及数据解读方式。包括传感器类型的定义、坐标系说明、方向传感器的角度解释(如方位角、倾斜角、旋转角)以及加速度传感器的加速度单位和方向说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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.

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

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

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/stevenliyong/archive/2009/09/15/4555331.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值