ios - 如何将加速度计g力值转换为度

标签 ios accelerometer core-motion

使用Core Motion框架时,对于CMMotionManageraccelerometerData轴值,我得到的值介于1到-1之间。

如果您将手机对准屏幕,然后再向左旋转90度,则会在X方向上获得-1g值。向右旋转,您会看到一个1g的值。

我希望将这些值表示为度,如何进行此转换?

最佳答案

我发现我不需要进行这种转换,因为您可以从deviceMotion.gravity实例的CMMotionManager中获取角度。

角度为:

self.motionManager = [[CMMotionManager alloc] init];
[self.motionManager startDeviceMotionUpdates];

CMDeviceMotion *deviceMotion = self.motionManager.deviceMotion;
const CGFloat currentXDegrees = radiansToDegrees(deviceMotion.attitude.roll);
const CGFloat currentYDegrees = radiansToDegrees(deviceMotion.attitude.pitch);

感谢所有答复。

关于ios - 如何将加速度计g力值转换为度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39520575/

相关文章:

ios - 展开 UITableViewCell 以在选择时显示附加文本标签

iphone - iPad和iPhone应用程序中的内存泄漏

android - 获取 3D Android 设备方向

java - Android 上的设备方向

accelerometer - 使用加速度计获取距离高度

swift - Apple Watch 4 上的气压计(工作正常吗?)

ios - Unity和iPhone XR的大片错误(特别是)

ios - 无法从collectionView传递indexpath(到LightBox包中)

ios - 如何从字符串中删除特定的 html 片段

linux - 基于加速度计的手势识别