`
tq09931
  • 浏览: 1514552 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

关于加速感应器的使用

阅读更多
   1. public static final int CWJ_UP = 0;
   2. public static final int CWJ_DOWN = 1;
   3. public static final int CWJ_LEFT = 2;
   4. public static final int CWJ_RIGHT = 4;
   5. public static final int CWJ_FORWARD = 8; //向前
   6. public static final int CWJ_BACKWARD = 16; //向后 

下面我们做精确的角度旋转修正值定义,我们用到yaw、pitch和roll,相信学过3D开发的网友不会对这些陌生的,我们就把他们对应为绕y、x、z 轴的角度好了,如果你们没有学过3D相关的知识这里Android开发网推荐大家可以通过Cube例子自定义Render来观察这三个值对应立方体的旋转角度。

Yaw在(0,0,0)中, 以xOz的坐标平面中围绕y轴旋转,如果是负角则我们定义为CWJ_YAW_LEFT 即往左边倾斜,同理我们定义如下:

   1. public static final int CWJ_YAW_LEFT = 0;
   2. public static final int CWJ_YAW_RIGHT = 1;
   3. public static final int CWJ_PITCH_UP = 2;
   4. public static final int CWJ_PITCH_DOWN = 4;
   5. public static final int CWJ_ROLL_LEFT = 8;
   6. public static final int CWJ_ROLL_RIGHT = 16; 

我们通过加速感应器可以获得 SensorEvent的四个值,今天Android123给大家一个简单示例,不考虑其他因素,在public int accuracy 、public Sensor sensor 、public long timestamp  和  public final float[] values 中,我们获取values的浮点数组来判断方向。

      int nAndroid123=CWJ_UP //向上


     float ax = values[0];

      float ay = values[1];

      float az = values[2];

      

      float absx = Math.abs(ax);

      float absy = Math.abs(ay);

      float absz = Math.abs(az);

        

      if (absx > absy && absx > absz) {


      if (ax > 0) {

        nAndroid123 = CWJ_RIGHT;

      } else {

        nAndroid123 = CWJ_LEFT;

      }

      } else if (absy > absx && absy > absz) {

   

      if (ay > 0) {

      nAndroid123= CWJ_FORWARD;

      } else {

      nAndroid123= CWJ_BACKWARD;

      }

      } else if (absz > absx && absz > absy) {


      if (az > 0) {

        nAndroid123 = CWJ_UP;

      } else {

        nAndroid123 = CWJ_DOWN;

      }

      } else {

     nAndroid123 = CWJ_UNKNOWN;
     } 
 
分享到:
评论

相关推荐

    android:加速度感应器

    通过理解和使用加速度感应器的源码,开发者可以深入理解硬件与软件之间的交互,并优化其应用程序的性能和用户体验。在开发过程中,不断学习和实践,掌握如何有效地处理和解析加速度数据,是提升应用质量的关键。

    S60 3rd加速度感应器的应用

    《S60 3rd加速度感应器的应用详解》 S60 3rd平台,全称为Series 60 第三版,是诺基亚基于Symbian操作系统开发的智能手机用户界面,广泛应用于多款诺基亚手机,如N95等经典机型。在这一平台上,加速度感应器...

    采集安卓手机输入过程中重力感应器、线性加速度感应器、加速度感应器和陀螺仪的变化数据 用于训练姿态识别模型

    在本文中,我们将深入探讨如何利用安卓手机的重力感应器、线性加速度感应器、加速度感应器和陀螺仪收集数据,并将其应用于姿态识别模型的训练。这涉及到人工智能领域中的一个重要分支——运动和姿态估计。 首先,让...

    android感应器开发之加速度、方向传感器

    在Android平台上,感应器(Sensor)是设备与周围环境交互的关键组件。加速度传感器和方向传感器是其中两类常见的传感器,广泛应用于移动设备中,提供设备的动态运动信息和朝向变化。本文将深入探讨这两类传感器的...

    Android使用Sensor感应器获取用户移动方向(指南针原理)

    在Android平台上,获取用户移动方向的关键在于利用Sensor感应器,特别是磁场感应器和加速度感应器。Android系统提供了丰富的传感器API,使得开发者能够方便地获取设备的各种运动数据。本篇文章将深入探讨如何利用...

    android 多种感应器demo

    - **线性加速度感应器(Linear Acceleration Sensor)**: 去除重力影响后,仅显示设备的运动加速度。 - **旋转矢量感应器(Rotation Vector Sensor)**: 结合陀螺仪和磁力计数据,提供设备的完整旋转信息。 - **...

    android加速度感应平衡球

    在Android平台上,加速度感应器(Accelerometer)是一种传感器设备,用于检测设备在三维空间中的加速度。这个技术被广泛应用于各种应用场景,如健康监测、游戏控制、运动追踪等。"android加速度感应平衡球"就是一个...

    基于GPS和加速度感应器的组合车辆定位系统研究.pdf

    《基于GPS和加速度感应器的组合车辆定位系统研究》 城市智能交通系统中的关键问题之一是如何准确地获取车辆的位置信息。GPS(全球定位系统)因其价格低廉和定位精确而被广泛应用在交通工具的导航定位中。然而,在...

    重力感应器

    重力感应器是一种能够检测设备在三维空间中的加速度变化的传感器。它通过测量地球引力对设备的影响来确定设备的相对位置和运动状态。在Android系统中,这些数据可通过`SensorManager`服务获取,该服务提供了与硬件...

    iOS 感应器、当前位置、指南针

    在iOS开发中,感应器、当前位置获取以及指南针功能是移动应用中不可或缺的部分,尤其对于构建涉及用户运动、导航或游戏的应用来说。本教程将深入探讨这些关键知识点,并通过一个名为"MotionManagerDemo"的示例项目...

    IOS 加速器的使用demo

    苹果iphone加速器感应 demo! 摇摇下,会出现某个效果的demo!

    android Sensor各种感应器源码

    android Sensor各种感应器源码 加速度感应器,重力,方向。磁场感应器

    医用电子直线加速器原理PPT课件.pptx

    医用电子直线加速器的分类可以按加速对象分为医用电子加速器、医用电子直线加速器、医用电子回旋加速器、医用电子感应加速器、医用质子加速器、医用重离子加速器等。也可以按能量高低分为低能加速器、中能加速器、...

    htc hd2 重力感应器开发包动态链接库

    重力感应器测量的是设备在X、Y、Z三个轴上的加速度,通常以g(地球重力加速度)为单位。在静态情况下,设备在Z轴上受到的加速度通常接近1g,而X和Y轴上的值应接近0。当设备移动或旋转时,这些值会相应变化,从而可以...

    陀螺仪与方向感应器

    方向感应器,也称为加速计(accelerometer),是一种能够测量物体加速度和重力的传感器。这种传感器通常采用三轴设计,能够检测物体在三维空间中的移动情况。iOS设备如iPhone、iPad和iPod Touch内置的方向感应器能够...

    Android基于Sensor感应器获取重力感应加速度的方法

    本文实例讲述了Android基于Sensor感应器获取重力感应加速度的方法。分享给大家供大家参考,具体如下: FETC项目指导老师提出了新的需求,想要在游戏地图中表现出用户用户当期移动的方向,再用GPS的话显然很不靠谱,...

    基于FPGA的三轴加速度无线传感系统设计与实现.pdf

    2. 微控制器与FPGA方案比较:文档描述了当前无线加速度传感节点的控制与数据传输方案,提到基于集成了无线协议微控制器的方案优点在于高集成度、低功耗、低成本、小体积和短开发周期。但存在硬件固定、数字处理能力...

    三轴加速度传感器(可以显示角度).rar_minuteeqp_searchfw6_三轴传感_传感器_加速度传感器

    再者,STM32作为一款广泛应用的32位微控制器,其强大的处理能力和丰富的外设接口使其成为驱动三轴加速度传感器的理想选择。使用Keil编译环境,开发者可以编写C或C++代码来实现与MMA845x的通信。通常,这涉及到配置I2...

    LSM303DLH三轴磁传感+加速度驱动程序

    "LSM303.c"包含了具体的传感器操作函数,如配置传感器的工作模式、读取磁感应和加速度数据等。这些函数通常会调用前面提到的I2C驱动来与传感器交互。"LSM303.h"文件则定义了相关的结构体、枚举类型和函数原型,使得...

    纸带法实验及其数据处理——用打点计时器测速度、加速度.pdf

    根据这个原理,可以使用逐差法求解加速度,即利用等时间间隔内的位移差来计算加速度a = (s4 - s1) / (3T^2)。此外,也可以通过v-t图像法求解,即先求出各点的瞬时速度,然后作出速度-时间图像,图像的斜率即为加速度...

Global site tag (gtag.js) - Google Analytics