[Android]传感器-加速度计-2[转]

 

android传感器的坐标系统和其2D设计并不相同,坐标系如下图:

Sensors coordinate-system diagram.

使用SensorManager对象注册传感器监听器后,在onSensorChanged方法内可以得到SensorEvent的一个对象。

而SensorEvent对象有一个重要的成员变量public final float[] values,其定义如下:

public final float[] values

The length and contents of the values array depends on which sensor type is being monitored

假若注册监听器是加速度传感器的话,其values中内容为

Sensor.TYPE_ACCELEROMETER:

All values are in SI units (m/s^2)         // si是国际单位的意思,就是和高中学加速度一样的单位

 values[0]: Acceleration minus Gx on the x-axis values[1]: Acceleration minus Gy on the y-axis values[2]: Acceleration minus Gz on the z-axis


可以看出values[0~2]的值是某方向加速度(Acceleration)减去该方向的重力值(Gx、Gy、Gz),所以手机静止时其范围是[-10,10]

举例说明,手机屏幕朝上平放,则 values[0]=0,values[1]=0,values[2]=10

由于手机静止不动所有方向都没有加速度,手机平放产生了向下的重力加速度,即Gz=-10(因为重力方向与z轴正向相反),所以相减后得10

转载于:https://www.cnblogs.com/webapplee/p/3774020.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值