使用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/

10-10 16:13