2012-09-07 55 views
1

我已經寫了這段代碼來從xcode中的UIAccelerometer中獲取G值。你能告訴我它是否正確?用xcode計算UIAccelerometer的G值

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 
{ 
    float gValue = sqrt(acceleration.x*acceleration.x+acceleration.y*acceleration.y+acceleration.z*acceleration.z); 
    [gLabel setText:[NSString stringWithFormat:@"%.2f",gValue]]; 
} 

請幫我

回答

2

如果G value應該是Gravitational acceleration那麼這個代碼不正確。

問題:

  1. 它可以工作,但只有在設備不移動,由地球引力產生的唯一的加速度。在所有其他情況下,公式不正確。

  2. UIAcceleration值由G.縮放這意味着,當設備空閒時,這些值將是,例如(0, -1.0, 0)和你的結果是1.0

另請注意,UIAccelerometer已棄用,由「Core Motion」框架取代。

編輯:使用[CMDeviceMotion gravity]

+0

你救了我的生命蘇丹,你能告訴我如何計算引力加速度和引力嗎? – SRI

+0

謝謝如果我的設備移動然後請告訴我。其實我的意圖是獲得引力,距離和Spped當用戶移動他的設備。請告訴我。預先感謝 – SRI

+0

@srinaidu嘿,這是一個編程論壇。我無法向你解釋基礎物理。首先建議 - 使用Core Motion框架。第二個建議 - 閱讀文檔。第三個建議 - 在提問之前自己嘗試。建議 - 在開始編程之前找到所需的一切方程式。你必須瞭解速度/加速度矢量如何工作。 – Sulthan