我正在研究用於顯示iPhone上移動車的當前G-Force值的應用程序。我不知道如何使用iPhone加速度計值計算G力值。另外,我必須使用這些值來計算距離和速度。如何使用iPhone加速度計值來計算移動車的G-Force值
有人能幫我解決這個問題嗎?
在此先感謝
我正在研究用於顯示iPhone上移動車的當前G-Force值的應用程序。我不知道如何使用iPhone加速度計值計算G力值。另外,我必須使用這些值來計算距離和速度。如何使用iPhone加速度計值來計算移動車的G-Force值
有人能幫我解決這個問題嗎?
在此先感謝
讓你的類(視圖控制器,或其他)實施UIAccelerometerDelegate協議。然後
-(void)startListening {
UIAccelerometer *meter = [UIAccelerometer sharedAccelerometer];
meter.updateInterval = 1.0; // One second
meter.delegate = self;
}
您的委託可以再使用給了它UIAcceleration對象由UIAccelerometer做什麼是你需要的。舉例來說,如果你只需要iPhone的加速度的大小,你可以,用雙accelMagnitude實例變量,有:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
accelMagnitude = sqrt(acceleration.x * acceleration.x
+ acceleration.y * acceleration.y
+ acceleration.z * acceleration.z);
[self refreshDisplay: accelMagnitude];
}
其中refreshDisplay沒有任何顯示需要。
如果您可以校準加速度計而汽車處於靜止狀態,您可以在以後通過簡單的矢量算術取得水平分力:
Fhorizontal = Ftotal - Fvertical
+1爲校準提示。您需要全部三個組件:垂直加速度(:)以及水平面上的兩個加速度來解釋轉彎。 – 2010-03-02 08:44:31
我已閱讀加速度計不這是準確的,所以我認爲經驗微調是必要的。
一旦校準,meassure /過濾器(和轉換爲適當的單位)的加速度計數據,速度可以通過(梯形規則)
Speed_i+1 = Speed_i + (interval_time/2)* (Accel_i+Accel_i+1)
相同的方式對距離aproximated。如果你想更準確的話,你可以嘗試更高階的積分公式(如辛普森的)。
當你說'g-force'時,你的意思是'skidpad'嗎? – Zaid 2010-03-02 08:14:32
你對速度和距離有什麼樣的準確度? – Zaid 2010-03-02 08:33:49
這有什麼好運?如果你想出了一個(合理)準確的方法來做到這一點,我會很感興趣。 – Jerceratops 2011-04-19 23:37:39