倾斜位置iOS应用程序

时间:2011-07-01 21:29:57

标签: iphone ios core-motion

如何在iOS应用中确定y方向的倾斜位置?首先,我尝试使用加速度计。但即使iPhone没有倾斜,加速度计的值也会发生变化。然后我试着玩陀螺仪。但这只能感知倾斜的速度,而不是倾斜的位置。

具体到我要做的是:

如果您将iPhone放在横向位置的桌面上,并且顶部有主页按钮。然后你慢慢地翻转它,使显示器面朝下(你看到手机的背面),主页按钮仍然在左边。我需要做的那种倾斜运动是我想要测量的。

2 个答案:

答案 0 :(得分:2)

加速度计就是你想要的。如果您的加速度矢量为a = (x, y, z),则此矢量与三个轴之间的角度由下式给出:

cos (angleXaxis) = x / sqrt(x^2 + y^2 + z^2)

cos (angleYaxis) = y / sqrt(x^2 + y^2 + z^2)

cos (angleZaxis) = z / sqrt(x^2 + y^2 + z^2)

要获得角度本身,您需要使用反cos函数。

答案 1 :(得分:2)

您应该考虑使用Core Motion API,因为它提供了可以用作欧拉角,四元数或旋转速率的值。看看

Accelerometer detection and sprite rotation

iPhone - What does the gyroscope measures? Can I get an absolute degree measurement in all axis?

iphone - core motion (relative rotation)