2012-01-29 4 views
0

私は、ユーザーが歩いているかどうか(自分のポケットに入れられた自分のiPhoneを持っている)、歩いている方向に向かっているかどうかを知らせるコードを書くことができるかどうかを知りたいです。iPhone上での動き(前方/後方)を検出するためのアルゴリズムですか?

具体的に

  • 私は距離を計算することに興味はないよ
  • を旅し、私はカウントステップに興味を持っていないよ、など

検出された私は何に興味があります2つの間を区別し、前方及び後方移動を区別することができる。

iPhone 4Sのコンパスを使用すると、向きを検出できますが、逆方向の動きはどうですか?

のは、私はその後、私は停止し、その後、私は逆方向に歩き始める、歩き始めるとしましょう(360度ターンを取ることなく...)

は、あなたがそれはデータがそのように加速度センサー/ジャイロスコープ/コンパスから操作することが可能だと思いますかそれに応じて私のコードのイベントをトリガできるようにする方法?

あなたはより具体的な例を与える:

は、私は(私のポケットの中の)私のiPhoneは、すぐに私は歩き始めると、その後のように停止(?どのように高速応答が本当にすることができる)として、音楽の再生を開始したいと想像私が歩くのを止めるとすぐに。そして、私が360度回ることなく後方に歩き始めるとすぐにビデオを再生します。

答えて

0

いいえiPhoneが向いている方向を保証する方法はなく、加速度計のノイズが長期較正を妨げることになります。 3方向ジャイロスコープでノイズを無効にすることはできますが、アルゴリズムを管理するには非常に高速なプロセッサが必要です。

人が動いているかどうかは、加速度計の軸の合計をとって、しきい値よりも大きいかどうかを確認するだけで、どちらの方向で可能な作業ではないかを確かめることができます。あなたが歩いている間は確かに音楽を演奏することができますが、その方向性についての裁量はありません。

+0

お返事ありがとうございます!私たちが後方のことを忘れているとします。ポケットに私の電話があると言うと、コンパスが歩いている間に私の方向を検出できないのですか? –

+0

コンパスが水平でない限り、私の理解はできません。私は間違っているかもしれません。それはまた、比較的不正確で遅いですが、理論的には、私はそれを使うことができると思います。しかし、動きの方向は検出されませんが、回転のみです。 – Zyerah

関連する問題