我正在研究用于显示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