zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    卡特兰数
    poj3461 字符串匹配 熟悉kmp算法第一题
    hdu1018
    poj 1088
    Linux / OS X 实用命令
    Mac/Linux 定时运行命令行
    在Mac安装Scheme
    如何判断无向图有环
    Prime算法生成最小生成树
    无向图的深度优先与广度优先搜索代码实现
  • 原文地址:https://www.cnblogs.com/webapplee/p/3774020.html
Copyright © 2011-2022 走看看