1

我正在创建一个简单的应用程序,用于测量用户在握住设备时在空中挥拳所施加的力。我知道的唯一方法是使用内置加速度计。现在我能够使用 UIAccelerometerDelegate 协议获得加速度值

 - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration. 

问题是,我不知道如何处理这些值,现在我得到了 x、y 和 z 的总和。是否有任何公式或任何我可以使用的公式,以便为用户提供更准确的结果?

4

1 回答 1

2

这听起来更像是一个物理问题,而不是一个编程问题。首先,您需要从 API 返回的向量中获取加速度的大小:

a = 平方根(x^2 + y^2 + z^2)

然后,您可以使用牛顿公式来获得力。

F=ma

既然你有加速度,你需要做的就是乘以手机的质量,你就完成了。(尽管您可能希望将结果转换为特定的度量单位。)

请注意,压力可能比力量更有意义。例如,我可能希望电话以磅/平方英寸来描述我的冲击强度。但是如果不知道用户拳头的表面积,你就无法做到这一点。

于 2012-01-02T05:39:43.020 回答