如何在iOS应用中确定y方向的倾斜位置?首先,我尝试使用加速度计。但即使iPhone没有倾斜,加速度计的值也会发生变化。然后我试着玩陀螺仪。但这只能感知倾斜的速度,而不是倾斜的位置。
具体到我要做的是:
如果您将iPhone放在横向位置的桌面上,并且顶部有主页按钮。然后你慢慢地翻转它,使显示器面朝下(你看到手机的背面),主页按钮仍然在左边。我需要做的那种倾斜运动是我想要测量的。
答案 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?