2012-01-02 4 views
1

私は、ユーザーが装置を持ちながら空気を打ち込む力を測定する簡単なアプリを作っています。私が知っている唯一の方法は、内蔵の加速度計を使用することです。今私はUIAccelerometerDelegateプロトコルの問題は、私は今、私は、x、y、zの合計を取得するために、これらの値をどのように処理するかを知らないでiPhoneのパンチの測定力

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

を用いた加速度値を取得することができました。ユーザーがより正確な結果を提供できるように、何らかの公式が使用できますか?

答えて

2

これはプログラミングの質問以外の物理的な質問のようです。まず、あなたは、APIが返すベクターから加速度の大きさを取得する必要があります:

=平方根(X^2 + y^2 + Z^2)次に

、あなたニュートンの公式を使って力を得ることができます。

F = maの

あなたは加速を持っているので、あなたがする必要があるすべては、電話の質量の乗算であり、あなたは完了です。 (結果を特定の測定単位に変換したいかもしれませんが)

圧力は力よりも意味があります。例えば、私はパンチの強さをポンド/平方インチで記述することができます。しかし、ユーザーの拳の表面積を知らなくても、それを得ることはできません。

+0

ありがとうございます!私はすでに加速値を持っていますが、私は何を得ているのかわからないのは、ユーザーのパンチ時の実際の値です。私は、値がkNumber(私の場合は1)条件が満たされていれば、それは値を記録する唯一の時間です。要するに、結果は常に1より大きい最初の値です。 – BLACK

+0

私はタイマーを使用しようとしましたが、ユーザーは特定の時間の間、彼のすべての力でパンチする必要があります。5秒と言いましょう。到達した最高値が記録されます。私はそれがより正確なこの方法だと思うが、私が望むのは、パンチ動作を検出したらすぐに力を記録することです。これを行うより良い方法はありますか? – BLACK

関連する問題