【问题标题】:Getting level of rotation with UIAccleration使用 UIAccleration 获取旋转级别
【发布时间】:2010-10-13 19:21:45
【问题描述】:

FroggyJump for iPhone 等游戏会计算出 iphone 的旋转。我对加速度值感到困惑。如何计算旋转水平?我想我需要考虑 iPhone 何时不是完全直立的。

谢谢。

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

这是偏航。

【问题讨论】:

    标签: iphone objective-c ios uiaccelerometer


    【解决方案1】:

    在快速完成 Froggy Jump 之后,我认为它很可能直接使用加速度计的 x 值作为青蛙的左/右加速度。如果它是静止的,您可以将加速度计视为为您提供相对于局部轴向上指向空间的矢量。对于像球滚动或其他由于倾斜而加速的情况,您希望直接使用这些值。

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

    【讨论】:

    • 我确实尝试过只使用 x 值,只要您将其保持合理直立就足够了。谢谢您的回答。我并没有为 iPhone 4 的 Core Motion 的姿态功能而苦苦挣扎。我无法让它相对工作。我可能会开始我的新问题,因为我不知道它为什么会失败。
    猜你喜欢
    • 2018-09-16
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多