Android 陀螺仪传感器(Gyroscope sensor)

陀螺仪又叫角速度传感器,一般用来检测手机姿态的,体感游戏用得最多,也有在手机拍照防抖,GPS 惯性导航,为 APP 添加一些动作感应(比如轻轻晃动手机关闭来电铃声) 等应用中出现过

其实陀螺仪就一个作用,计算手机已经转动的角度,并以此延伸出其它应用

陀螺仪传感器的 单位角速度(弧度/秒)radians/second

陀螺仪传感器的类型是 Sensor.TYPE_GYROSCOPE

手机中的陀螺仪传感器一般都是三轴的,三个值依次是沿着 X 轴,Y 轴,Z 轴旋转的角速度,手机逆时针旋转,角速度值为正,顺时针则为负值

范例我们就不写了,因为用法都一样,代码都几乎一样

private static final float NS2S = 1.0f / 1000000000.0f;
private float timestamp;

public void onSensorChanged(SensorEvent event)
{
    if (timestamp != 0)
    {
        // event.timesamp 表示当前的时间,单位是纳秒(1百万分之一毫秒)
        final float dT = (event.timestamp - timestamp) * NS2S;
        angle[0] += event.values[0] * dT;
        angle[1] += event.values[1] * dT;
        angle[2] += event.values[2] * dT;
    }
    timestamp = event.timestamp;
}

上面的通过陀螺仪传感器相邻两次获得数据的时间差 ( dT ) 来分别计算在这段时间内手机延 X、 Y、Z 轴旋转的角度,并将值分别累加到 angle 数组的不同元素上

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.