zoukankan      html  css  js  c++  java
  • Android Sensors (6) 位置传感器 Position Sensors

     

    位置传感器Position Sensors

      

      Android平台提供了两种决定设备位置的传感器:

      地磁场传感器方向传感器(the geomagnetic field sensor and the orientation sensor)。

      还有一种传感器用于检测设备正面和其他物体的距离,叫做接近传感器(proximity sensor)。

      地磁场传感器和接近传感器是基于硬件的。

      方向传感器是基于软件的,它的数据是根据加速度计和地磁场传感器导出的。

      但是方向传感器自从Android 2.2 (API Level 8)开始就被废弃了。

      位置传感器也是返回一个多维向量,放在 SensorEvent中的values数组中。

      返回值见表:

     

    方向传感器Orientation Sensor

      方向传感器是根据地磁场传感器加速度计推导出输出数据的。

      使用这两个硬件传感器,方向传感器为下面三个方向提供了数据:

      1. Azimuth:绕Z轴旋转的度数。这是设备的y轴和地磁场北极的夹角。比如,设备的y轴指向东,这个度数就为90。

      2. Pitch:绕X轴旋转的度数。当设备的z轴朝着y轴正向旋转时,这个值是正值,反之,当设备的z轴朝着y轴的负向旋转时,这个值为负值。它的取值范围是-180到180。

      3. Roll:绕Y轴旋转的度数。当设备的z轴朝着x轴正向旋转时,这个值是正值,反之,当设备的z轴朝着x轴的负向旋转时,这个值为负值。它的取值范围是-90到90。

     

      注意这个定义是非常特殊的,因为它在顺时针旋转的时候是正值,而数学上总是逆时针为正值。

      因为方向传感器需要大量的处理运算,所以它的准确度和精度都有所下降。后来,自Android 2.2 (API level 8),方向传感器被废弃。

      官方建议使用下面的方法:

      利用getRotationMatrix()结合getOrientation()方法可以计算方向值。

      还可以利用remapCoordinateSystem()把方向值转换到你的应用的参考坐标系。

     

    地磁场传感器Geomagnetic Field Sensor

      地磁场传感器监测地球地磁场变化。

      传感器提供三个坐标上的原始的磁场强度值(in μT)。

      一般情况下,你不需要直接使用这个传感器,你可以使用旋转向量传感器来决定原始的旋转运动;你也可以使用加速度计和地磁场传感器并结合getRotationMatrix()方法来获得旋转矩阵和倾斜矩阵。

      你可以结合 getOrientation()和 getInclination() 方法来使用这些矩阵,从而得到方位和地磁场偏移数据。

     

    接近传感器Proximity Sensor

      接近传感器可以让你得到设备离另一个物体的距离。

      接近传感器通常用于检测设备正面和用户头部的距离,比如用户正在打电话。

      大多数Proximity Sensor返回绝对的距离数值,以cm为单位。但是也有一些只返回近或者远。

     

    参考资料

      API Guides: Position Sensors

      http://developer.android.com/guide/topics/sensors/sensors_position.html

     

  • 相关阅读:
    配置Mysql远程访问
    mysql Access denied for user root@localhost错误处理备忘
    MsSql判断表是否有自增标识
    .net用NPOI生成Word表格
    TensorFlow-卷积
    Java中int与Integer的区别
    由经纬度坐标得到腾讯地图的瓦片/切片行列号
    vs code上配置Scala
    VMware虚拟机上配置CentOS联网
    使用PuTTy在CentOS下安装web.py与简单的文件传输
  • 原文地址:https://www.cnblogs.com/mengdd/p/2962012.html
Copyright © 2011-2022 走看看