1
當使用Core Motion
框架時,我得到的值爲CMMotionManager
的accelerometerData
軸值在1和-1之間。如何將加速度計g力值轉換爲度數
如果拿着手機屏幕朝向您,然後將其左旋90度,您將在X
方向獲得-1g值。向右旋轉,你會看到一個1g的值。
我想將這些值表示爲度數,我如何進行此轉換?
當使用Core Motion
框架時,我得到的值爲CMMotionManager
的accelerometerData
軸值在1和-1之間。如何將加速度計g力值轉換爲度數
如果拿着手機屏幕朝向您,然後將其左旋90度,您將在X
方向獲得-1g值。向右旋轉,你會看到一個1g的值。
我想將這些值表示爲度數,我如何進行此轉換?
我發現我不需要進行這樣的轉換,因爲您可以從實例的deviceMotion.gravity
獲取角度。
的角度是:
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);
感謝所有作出答覆。
我沒有看到這些之間的任何關係。 1g僅意味着90度,取決於軸的半徑,速度以及它旋轉的時間。我很確定你的手機有其他傳感器可以用來確定這個角度,就像指南針一樣。 – Havenard
1g只是一個力量。它並沒有說任何關於這個力量是如何申請的,也不能用來給出一個方向。您可以用1克力將手機轉動1度,也可以用1克力將其完全旋轉。 –
@MarcB 1g是手機靜止時的重力,它不是旋轉運動產生的力,因此它是恆定的。 – Paulw11