首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Swift中测量iOS设备上的抖动量?

如何在Swift中测量iOS设备上的抖动量?
EN

Stack Overflow用户
提问于 2017-10-05 20:45:46
回答 1查看 756关注 0票数 2

我正在使用CoreMotion获取应用程序中的设备运动测量数据。我可以得到加速度x,y,滚动,俯仰,偏航,陀螺数据等。

但是我想要测量的是震动,也就是设备移动了多少,并为设备在任何方向移动了大量的东西设定了阈值。我发现我得到的测量结果非常敏感,我不知道如何正确地使用它。

注意:我知道如何检测摇动手势,这不是我所要求的--我要求的是正确的方法来测量摇动量并显示它。

我从DeviceMotion中使用的代码示例:

代码语言:javascript
运行
复制
        if let deviceMotion = motionManager.deviceMotion {
        let quat = deviceMotion.attitude.quaternion;
        var qRoll = radiansToDegrees(radians: atan2(2*(quat.y*quat.w - quat.x*quat.z), 1 - 2*quat.y*quat.y - 2*quat.z*quat.z)) ;
        var qPitch = radiansToDegrees(radians: atan2(2*(quat.x*quat.w + quat.y*quat.z), 1 - 2*quat.x*quat.x - 2*quat.z*quat.z));
        var qYaw = radiansToDegrees(radians: asin(2*quat.x*quat.y + 2*quat.w*quat.z));

        let orientation = deviceMotion.attitude
        var roll = radiansToDegrees(radians: orientation.roll)
        var pitch = radiansToDegrees(radians: orientation.pitch)
        var yaw = radiansToDegrees(radians: orientation.yaw)
}

并使用加速度计:

代码语言:javascript
运行
复制
        if motionManager.isAccelerometerAvailable {
        motionManager.startAccelerometerUpdates(to: OperationQueue.current!, withHandler: { accelerometerData, error in
            if let acceleration = accelerometerData?.acceleration {
                print("ACCELEROMETER X: " + acceleration.x.description)
                print("ACCELEROMETER Y: " + acceleration.y.description)
                print("ACCELEROMETER Z: " + acceleration.z.description)
        })
    }

使用来自CoreMotion的测量来测量一个设备的震动程度的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-10-05 21:54:34

这取决于您的确切用例,但是如果您想确定震动的数量,则计算一个运动增量。在给定的时间内确定设备运动属性的最大值和最小值,并将该值用作“抖动”的近似值。

例如,您可以在5秒内测量设备的yaw。跟踪最小值和最大值,并记录它们之间的差异。更多的震动会导致更大的价值。

同样,它取决于您的确切用例,但您也可以采用设备运动属性和它们的运动增量的组合。如果您知道运动随着时间的推移是一致的(就像机器来回摇晃),您可以尝试找到局部的min/max值,并在一段时间内对它们进行平均值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46594523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档