我想在iPad上找出音高,偏航和滚动1.由于没有deviceMotion功能,我可以从加速度计中获取这些数据吗?我假设我可以使用它返回的矢量来比较参考矢量,即重力。
iOS是否检测到设备何时静止,然后将其作为重力矢量?或者我必须这样做? 感谢。
答案 0 :(得分:5)
绝对有可能从加速度计数据计算俯仰和滚转,但是Yaw需要更多信息(陀螺仪肯定但可能指南针可以工作)。
有关示例,请查看Hungry Shark for iOS。根据{{3}}的工作原理,我非常确定他们使用的是加速度计而不是陀螺仪。
此外,这里有一些我在tilt calibration ui a上找到的用于计算音高和滚动的公式:
现在我们有3个以g表示的输出我们应该可以 计算音高和滚动。这需要另外两个方程式。
pitch = atan (x / sqrt(y^2 + z^2)) roll = atan (y / sqrt(x^2 + z^2))
这将产生弧度的俯仰和滚动,将它们转换成 友好度我们乘以180,然后除以PI。
pitch = (pitch * 180) / PI roll = (roll * 180) / PI
我还在寻找的是如何根据用户握住设备的方式来校准俯仰和滚转值。如果我不能很快弄清楚,我可能会提出一个单独的问题。祝你好运!