0

sBefore UIAccelerometer已從iOS中棄用我用這個類中的x,yz的數據來計算俯仰,滾轉和偏航。我也必須做一些過濾,但現在我看到,使用CoreMotion庫,我可以從CMAttitude class獲得這些數據,並且真的想要使用這些屬性,但不知怎的,我沒有這樣做。現在CoreMotion不會給我滾動,俯仰和偏航

,我所做的是實例

CMMotionManager *motionManager; 
CMDeviceMotion *deviceMotion; 
CMAttitude  *attitude; 
... 
deviceMotion = motionManager.deviceMotion; 
attitude  = deviceMotion.attitude; 

motionManager.accelerometerUpdateInterval = 0.065; // 65ms 
[motionManager startAccelerometerUpdates]; 

我能夠讀取x,y和z的motionManager.accelerometerData.acceleration.<x,y or z>而是試圖從attitude.<roll,pitch,yaw>讀給我0.1

NSLog(@"Roll: %f", attitude.roll); // = 0 

我用連續計時器每隔100ms觸發一個方法讀出數值。

關於我錯過了什麼的想法?

回答

0

要使用deviceMotion.attitude您必須致電[motionManager startDeviceMotionUpdates]

startAccelerometerUpdates提供的加速度計數據只有像startGyroUpdates會給你gyroData。請注意,設備運動數據不僅僅是加速度計和陀螺儀數據,因爲它們都將被組合(傳感器融合)以實現更高的精度。

+0

謝謝先生,就是這樣。不知道他們結合了兩者的數據來實現這一點。 – chwi 2013-03-13 20:43:32

相關問題