我现在没有iPhone 4,我正在尝试找到一个文档,显示偏航,俯仰和滚动的范围以及设备的相应位置。
我知道加速度计从-1到+1不等,但昨天在我的iPhone上进行的测试显示,滚动从-M_PI到+ M_PI不等,但偏航和音高范围是其中的一半。这是对的吗?
我在哪里可以找到有关这些范围的文档?我没有在Apple模糊的文档上看到它。
感谢。
答案 0 :(得分:12)
这不是一个完整的答案,但为了开始滚球:
我假设你在谈论设备态度而不是原始陀螺仪数据。
有趣的是(我有一个ipod touch 4 gen坐在我面前显示这些值):
音高:看起来是 - (M_PI / 2) - >的范围。 +(M_PI / 2)虽然我的上限在〜+ 1.55 / -1.51
roll:-M_PI - > + M_PI
偏航:-M_PI - > + M_PI
只是一个音符,至少在我的设备音高上没有区分“向前”与“向后”的倾斜,只是给出了设备相对于重力方向的角度。要确定屏幕是向下还是向上,您当然可以检查gravity.z。
如果您正在使用CMDeviceMotion,则会有一个名为gravity的属性,只需抓住gravity.z即可。如果设备的显示器向上倾斜(远离重力)则为负,如果显示器朝下(朝向重力)则为正
请注意,CMDeviceMotion使用的算法非常善于将重力与用户加速分离,但在某些类型的运动中,在值变得正确之前可能会有一些延迟,我希望能够从有更好解决方案的人那里来。
答案 1 :(得分:0)
我最近遇到了一个iOS应用程序的同样问题,它计算了手机翻转次数。 Apple拒绝了它,所以我在GitHub上发布了它,可能对你有用:
翻转手机! - https://github.com/apascual/flip-your-phone
我从没想过使用重力Z变量的解决方案,我会尽快尝试,然后我会回来一些更新。