ios html js调用陀螺仪,javascript – chrome mobile和safari mobile中不同的陀螺仪值

我目前正在构建一个小型全景照片查看器,可以选择使用陀螺仪导航场景.我从deviceOrientation事件中获取数据并将euler角度转换为旋转矩阵,然后将其放入一些变换并最终移动带有3dMatrix变换的css立方体.

我的问题是我在不同设备上的不同浏览器上从deviceOrientation事件中获得了非常不同的数据,我不明白为什么.

在我尝试的几乎所有iPhone上,使用safari mobile和Chrome,一切都很棒.价值观进入并且有意义,整个体验非常无缝.

在三星Galaxy S3上,在Chrome中,我的数据完全不稳定. alpha值实际上似乎并不代表围绕z轴的旋转,并且值有巨大的飞跃,例如beta跳跃从50-130度只有一个小的运动.

在Chrome中的Galaxy Tab S 8.4“中,我仍然会得到一些不稳定的值,有些来回抽搐,但我至少得到了一些近似于所需行为的东西.

在Chrome上的Nexus 7 2nd gen上,体验是连贯的,也是有意义的.与iPhone相比,它的渲染速度不稳定,但它正在正确地旋转所有内容,并且这些值很有意义.

有谁知道我怎么能解决这些问题,或者我应该如何解决这些问题?它们可能是Android的三星端口的问题,或者在最新版本的操作系统中的Android本身.

思考?想法?建议?我此时真的很失落.

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 iOS 睡眠解析加速度和陀螺仪代码的示例: ```swift import CoreMotion class SleepAnalysisViewController: UIViewController { let motionManager = CMMotionManager() override func viewDidLoad() { super.viewDidLoad() startAccelerometerUpdates() startGyroUpdates() } func startAccelerometerUpdates() { motionManager.accelerometerUpdateInterval = 1.0 / 60.0 motionManager.startAccelerometerUpdates(to: .main) { (accelerometerData, error) in guard let data = accelerometerData else { return } // 处理加速度数据 } } func startGyroUpdates() { motionManager.gyroUpdateInterval = 1.0 / 60.0 motionManager.startGyroUpdates(to: .main) { (gyroData, error) in guard let data = gyroData else { return } // 处理陀螺仪数据 } } } ``` 这段代码,我们使用了 CoreMotion 框架来获取设备的加速度和陀螺仪数据。首先,我们创建了一个 `CMMotionManager` 实例,然后在 `viewDidLoad` 调用了 `startAccelerometerUpdates()` 和 `startGyroUpdates()` 方法来开始获取加速度和陀螺仪数据。 在 `startAccelerometerUpdates()` 方法,我们设置了加速度数据的更新间隔,并调用了 `startAccelerometerUpdates(to:withHandler:)` 方法来开始获取加速度数据。在闭包,我们检查了数据是否可用,如果可用则进行处理。 在 `startGyroUpdates()` 方法,我们也设置了陀螺仪数据的更新间隔,并调用了 `startGyroUpdates(to:withHandler:)` 方法来开始获取陀螺仪数据。在闭包,我们同样检查了数据是否可用,如果可用则进行处理。 需要注意的是,获取加速度和陀螺仪数据需要消耗大量的设备资源,因此我们需要在适当的时候停止数据的获取,以避免影响设备性能和电池寿命。可以在 `viewWillDisappear` 调用 `stopAccelerometerUpdates()` 和 `stopGyroUpdates()` 方法来停止数据的获取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值