我在 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/