我想编写一个应用程序,从某个坐标(手机底部)给出位置度数。
例如...如果我以 45 度角拿着手机,我想在屏幕上显示:45 度。如果用户将手机保持在 45 度角并围绕从听筒到主页按钮的轴旋转手机,我想显示该角度(0-180 度之间)。
我已经实现了加速度计并获得了 x、y、z 值,但是,如何转换它们?我知道它们在 G 中(相应轴上为 1G、0.9G、-0.5G),但转换是什么?我什至走在正确的轨道上吗?我应该改用陀螺仪吗?
谢谢。
我想编写一个应用程序,从某个坐标(手机底部)给出位置度数。
例如...如果我以 45 度角拿着手机,我想在屏幕上显示:45 度。如果用户将手机保持在 45 度角并围绕从听筒到主页按钮的轴旋转手机,我想显示该角度(0-180 度之间)。
我已经实现了加速度计并获得了 x、y、z 值,但是,如何转换它们?我知道它们在 G 中(相应轴上为 1G、0.9G、-0.5G),但转换是什么?我什至走在正确的轨道上吗?我应该改用陀螺仪吗?
谢谢。
如果您可以依靠陀螺仪支持,我建议您使用它,因为您无需任何计算即可直接获得(欧拉)角。请参阅iOS - 陀螺仪示例并点击里面的链接。
不要使用 UIAccelerometer,因为它很快就会被弃用。更新的 CoreMotion 框架始终是更好的选择,即使对于旧设备也是如此。