通过加速获得旋转水平

时间:2010-10-12 23:20:19

标签: iphone objective-c ios uiaccelerometer

像FroggyJump for iPhone这样的游戏可以找出iphone的旋转。我对加速度值感到困惑。如何计算旋转水平?我想我需要考虑什么时候iPhone不是完全正直的。

谢谢。

我也希望将新的Core Motion框架与iPhone 4的“Device Motion”一起使用,以获得更高的精确度。我想我必须为其他设备使用那个低通滤波器。

这是偏航。

1 个答案:

答案 0 :(得分:1)

快速给予Froggy Jump,我认为它可能直接使用加速度计的x值作为青蛙的左/右加速度。如果它是静止的,您可以将加速度计视为向您提供相对于局部轴向上指向空间的向量。对于像滚球或由于倾斜而加速的任何其他东西,你想直接使用这些值。

对于任何涉及实际知道角度的事物,您可能最好选择要检测旋转的轴,然后在其他两个轴的加速度计值上使用C函数atan2f。仅使用加速度计,在某些情况下您无法检测旋转 - 例如,如果设备在桌面上是平的,则加速度计无法检测到偏航。一般规则是,仅使用加速度计无法检测到重力矢量周围的旋转。