相应的事件

deviceorientation事件提供设备的物理方向信息,表示为一系列本地坐标系的旋角。

devicemotion事件提供设备的加速信息,表示为定义在设备上的坐标系中的卡尔迪坐标。其还提供了设备在坐标系中的自转速率。若可行的话,事件应该提供设备重心处的加速信息。

compassneedscalibration事件用于通知Web站点使用罗盘信息校准上述事件。

这几个事件在比较老的ios和安卓系统上都支持。

在学习之前需要先对相应的坐标有一个槪念

x、y、z轴示意图

deviceorientation事件的event对象有如下属性:

alpha:手机左右晃动(即围绕z轴旋转),y轴的度数差:0到360度

beta:手机前后晃动(即靠近自己或远离自己,围绕x轴旋转),z轴的度数差:-180到180度

game:手机扭转(即围绕y轴旋转),z轴的度数差:-90到90度

deviceorientation事件的event对象有如下属性:

acceleration   设备在X,Y,Z轴方向上加速度的对象。加速度的单位为 m/s2

accelerationIncludingGravity  设备在X,Y,Z轴方向上带重力的加速度的对象。加速度的单位为 m/s2

rotationRate 设备在 alpha,beta, gamma轴方向上旋转的速率的对象。旋转速率的单位为 ?°/s 。

interval  设备获取数据的频率,单位是毫秒。

将设备放置在水平表面,屏幕向上,acceleration为零,则其accelerationIncludingGravity信息如下:

{x: 0,y: 0,z: 9.81};

设备做自由落体,屏幕水平向上,accelerationIncludingGravity为零,则其acceleration信息如下:

{x: 0, y: 0,z: -9.81};

将设备安置于车辆至上,屏幕处于一个垂直平面,顶端向上,面向车辆后部。车辆行驶速度为v,向右侧进行半径为r的转弯。设备记录acceleration和accelerationIncludingGravity在位置x处的情况,同时设备还会记录rotationRate.gamma的负值:

  {acceleration: {x: v^2/r, y: 0, z: 0},
accelerationIncludingGravity: {x: v^2/r, y: 0, z: 9.81},
rotationRate: {alpha: 0, beta: 0, gamma: -v/r*180/pi} };

最新文章

  1. PHP正则表达式模式修饰符详解
  2. IntelliJ IDEA 将 Maven 构建的 Java 项目打包
  3. Jenkins配置的邮件无法发送的问题
  4. HDU 4387 Stone Game (博弈)
  5. xtrabackup工具安装
  6. 设计模式原来如此-代理模式(Proxy Pattern)
  7. zabbix监控activemq队列脚本
  8. 转-OpenJDK源码阅读导航跟编译
  9. C语言声明解析方法
  10. ios UIImagePickerController简单说明
  11. tar+pigz+ssh实现大数据压缩传输
  12. 一个简单的基于 DirectShow 的播放器 1(封装类)
  13. Git—分支管理
  14. mysql5.7.17版本升级源码方式及恢复主主复制
  15. 20175316盛茂淞 2018-2019-2 《Java程序设计》第7周学习总结
  16. 银联支付java版
  17. [Proposal]Tank Battle——Infinite
  18. ALTERA FPGA Quartus 指定memory综合使用 M4K块
  19. BASIC-1_蓝桥杯_闰年判断
  20. 第10课 struct和union分析

热门文章

  1. 【转】总结oninput、onchange与onpropertychange事件的用法和区别
  2. 应用性能指数(APDEX)是如何计算出来的?
  3. 2018.11.26 struts2流程源码
  4. fast、faster中ap值的计算
  5. transform,animate
  6. P1272
  7. UGUI防止点击穿透
  8. vue 修改框架less变量
  9. Python 学习笔记(七)Python字符串(二)
  10. Linux mongodb安装、启动、运行