2009-03-30 9 views
2

誰かがiPhoneを振っている速度を判断することは可能ですか?これは、彼らが今起点に戻っている終点に移動し始める時でしょう。基本的にはスピードを測定したいスワイプです。この議論は初速度についてのコメントです:http://discussions.apple.com/message.jspa?messageID=8297689#8297689。速度の良い尺度を得るためには、iPhoneの距離の重要な要素が欠けているようです。揺れの速度を判断する

+2

は、それはおそらく私だけだが、それは誰を傷つける場合、私はこの質問を読んだときと考え最初の事は事前に謝罪:-) p0rn業界への適用です。 – paxdiablo

答えて

3

確かに、距離を移動させるために数値的に2回の加速度を積分するのと同じように思えます。例えば、 Calculate the position of an accelerating body after a certain time

測定加速度から重力を差し引いて、積分すべき運動加速度を得る必要があることに注意してください。その方法については、GoatRiderのコメント:重力と等しい大きさの最後に測定された加速度を保存しようとするかもしれません(iPhoneの場合は1と思います)。次に、加速度の測定ごとに、大きさが1より大きい場合は、重力の最後の既知の加速度を減算します。これはベクトル減算でなければなりません。それを運動加速度として使用します。もちろん、これは、ユーザーがスワイプ全体で同じ方向に電話を保持していることを前提としていますが、これはほぼ真実だと思います。

残念ながら、重力加速度と運動加速度を区別するために使用できる手法はありません。つまり、決定されたユーザーは、あなたが思いつくアルゴリズムを欺く方法を常に見つけることができます。 (トリビア:これは等価原理と呼ばれ、アインシュタインの一般相対性理論の基礎である)

+0

どのように揺れを傾き/重力から区別しますか? – GoatRider

+0

第2段落の最後の文章から始めて説明したことはありませんか? – 4thSpace

+0

あなたのスピードの計算が正しい球場内にあることをどのように確認できますか? – 4thSpace

2

あなたは計算を自分で行う必要があります。あなたが受け取った各加速事象は、加速度計に登録している相対G力とイベントが記録された時刻を知らせます。いくつかのイベントをサンプリングして補間する必要があります。ここでは、加速イベント自体の詳細です:

UIAcceleration Class Reference

+0

レーダーガンが必要なようです。 – 4thSpace

関連する問題