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 に答える