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