ios – 无论设备旋转检测运动

搜索一种方式来检测手机的移动,无论用户如何握住手机.

一些例子:

>我对垂直运动感兴趣(像使用者拉起手机),如果电话放在桌子上,或者握在手上(可能是颠倒的话),那么“忽略”.
>也有兴趣的水平运动(像用户把手机远离身体)也“忽视”用户如何持有电话.

背景是我想要识别用户是否将手机拉出口袋(如拉长30-40厘米,水平方向也有一厘米).

我认为我必须从useracceleration和态度中获得一个组合.但是我没有找到正确的数学.

解决方法

不确定你的意思是“正确的数学”.但是,我会读出加速度计,并总结所有3个方向(x / y / z)的绝对值.这将为您提供一个单独的数字加速,独立于手机的方向或运动的方向.

更好的是计算RMS加速度,即求和x / y / z加速度的平方,并计算和的平方根.

这种方法的明显缺点是它没有给出关于运动方向的信息.您可以添加一些阈值或滤波来区分单个线性运动与振动(例如,通过测量两个加速事件之间的时间).

此外,您可以确定高度的变化(这与电话方向无关),但我怀疑是否可以精确地测量30 … 40厘米的差异.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...