2010-10-12 67 views
1

iPhone的FroggyJump等游戏计算出iPhone的旋转。我对加速度值感到困惑。我如何计算旋转水平?我想我需要考虑iPhone何时不完美。通过UIAccleration获得旋转水平

谢谢。

我也想使用新的Core Motion框架和iPhone 4的“Device Motion”以获得更高的精度。我想我必须为其他设备使用低通滤波器。

这是偏航。

回答

1

在给出了青蛙跳跃快速去,我认为它可能直接使用加速度计的x值作为青蛙的左/右加速度。如果它是静止的,你可以将加速度计想象成相对于局部坐标轴向上指向空间的向量。对于类似滚球或其他任何因倾斜而加速的内容,您希望直接使用这些值。

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

+0

我确实尝试过使用x值,只要你保持合理直立,它已经足够好了。谢谢您的回答。我没有为iPhone 4的Core Motion的态度功能而苦苦挣扎。我无法相对工作。我可能会开始一个新的问题,因为我无能为力,为什么它失败。 – 2010-10-13 20:15:43