zoukankan      html  css  js  c++  java
  • 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} };
  • 相关阅读:
    POJ1486 Sorting Slides 二分图or贪心
    POJ2060 Taxi Cab Scheme 最小路径覆盖
    POJ3083 Children of the Candy Corn 解题报告
    以前的文章
    POJ2449 Remmarguts' Date K短路经典题
    这一年的acm路
    POJ3014 Asteroids 最小点覆盖
    POJ2594 Treasure Exploration 最小路径覆盖
    POJ3009 Curling 2.0 解题报告
    POJ2226 Muddy Fields 最小点集覆盖
  • 原文地址:https://www.cnblogs.com/94pm/p/9142251.html
Copyright © 2011-2022 走看看