【问题标题】:Is Sensor.TYPE_LINEAR_ACCELERATION in Android same as userAcceleration in IOSAndroid中的Sensor.TYPE_LINEAR_ACCELERATION和IOS中的userAcceleration一样吗
【发布时间】:2019-03-11 02:55:10
【问题描述】:

您好,我想知道您从 TYPE_LINEAR_ACCELERATION 获得的读数是否与您从 IOS 中的 userAcceleration 获得的读数相同,这些读数是没有重力的加速度计读数。据我所知,它们是加速度计读数减去重力,但只是想确定一下,因为 Apple 没有发布任何源代码。

【问题讨论】:

    标签: android ios accelerometer cmattitude


    【解决方案1】:

    是的,它们是相同的,因为它们都测量总加速度减去重力(即用户施加在设备上的加速度)。

    需要注意的重要一点是,iOS 和 Android 的测量单位和参考框架是不同的。 Android 以 m/s^2 为单位测量加速度,而 iOS 以 g 为单位测量加速度(大约 9.81 m/s^2)。参考框架在文档中看起来是相同的(参见下面的链接),但 iOS 参考框架实际上与 Android 参考框架相反。例如,当设备静止在桌子上时,iOS 在 z 轴上的测量值约为 -1.0,而 Android 的测量值约为 9.81 m/s^2(注意 iOS 值为负,Android 值为正)。

    要将 iOS 读数转换为 Android 参考框架和测量单位,您可以将所有轴(x、y 和 z)的 iOS 读数乘以 -g(大约 -9.81):

    acc_x_iOS * -9.81 ≡ acc_x_Android
    acc_y_iOS * -9.81 ≡ acc_y_Android
    acc_z_iOS * -9.81 ≡ acc_z_Android
    

    iOS 文档:https://developer.apple.com/documentation/coremotion/getting_processed_device-motion_data/understanding_reference_frames_and_device_attitude

    Android 文档:https://developer.android.com/guide/topics/sensors/sensors_overview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多