iOS:我可以从加速度计数据中获得俯仰/偏航/滚动吗?

时间:2011-09-09 13:33:34

标签: ios ipad accelerometer

我想在iPad上找出音高,偏航和滚动1.由于没有deviceMotion功能,我可以从加速度计中获取这些数据吗?我假设我可以使用它返回的矢量来比较参考矢量,即重力。

iOS是否检测到设备何时静止,然后将其作为重力矢量?或者我必须这样做? 感谢。

1 个答案:

答案 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

我还在寻找的是如何根据用户握住设备的方式来校准俯仰和滚转值。如果我不能很快弄清楚,我可能会提出一个单独的问题。祝你好运!