android - 如何比较 iOS 和 Android 中的加速度计值

标签 android ios

我在 iOS 中获取加速度计值如下

if (motionManager.accelerometerAvailable) {
        NSLog(@"Accelerometer avaliable");
        [motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
            if (!error) {
                NSLog(@"raw_accel_X==%f,date=%@",accelerometerData.acceleration.x,[NSDate date]);
                NSLog(@"raw_accel_Y==%f,date=%@",accelerometerData.acceleration.y,[NSDate date]);
                NSLog(@"raw_accel_Z==%f,date=%@",accelerometerData.acceleration.z,[NSDate date]);

        }];

如果我不移动 Iphone,我得到的数据介于 -1 和 1 之间;如果我不移动我的 Android 设备,我得到的值大约为 9。我应该怎么做才能将 iOS 中的原始加速度计值与 Android 中的原始加速度计值相匹配? 对此有任何更新吗?

最佳答案

您必须了解 iOS 加速度计的工作原理。输出在 gforces 中测量, 并且数据中有很多噪音,所以你必须在分析数据之前对数据进行归一化。

Android 的加速度计以米/秒平方为单位输出加速度,如果您想将加速度转换为重力测量值,请将其除以 9.81(地球引力)。

关于android - 如何比较 iOS 和 Android 中的加速度计值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20745066/

相关文章:

android - 在包 'appComponentFactory' 中找不到属性 'android' 的资源标识符

ios - 使用 iOS 版谷歌地图在多边形中添加孔

ios - CSS 媒体查询是否必须在外部 CSS 文件中?

java - GlassFish/Ubuntu 消息传递

php - android in app billing v3 与 php

java - 解析带时区的日期字符串 java

ios - 错误 : Error installing cocoapods: ERROR: Failed to build gem native extension

ios - 分组 TableView - 新条目需要新部分。使用核心数据

ios - 如何获取系统设备语言,swift iOS

android - 未能从库中提供结果