Android 加速度センサー 動き
解決済
回答 3
投稿
- 評価
- クリップ 0
- VIEW 4,583
考え方についての質問です。
現在加速度センサーを使用したモーション判定のアプリ(円を描く、四角を描くなど)を作成しようと考えているのですが、x,y,z軸の値は取れるのですが、円を描いた時に円を描いたと判定するにはこの値をどのように計算すればモーションの判定が出来るのでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+2
計算方法だけ提示されても間違いなく実用にはならないので、まずは物理(空間と運動の関係)と数学を勉強する必要があります。
加速度を積分すると速度が計算できます。それをさらに積分すると移動距離が出ます。加速度を微分すると動き始め、終わりが判定できます。1軸で直線運動ならまだ簡単です。
Androidの加速度センサの軸は端末の向きなので、同じ方向に動かしても端末の向きによってどの軸に値が出てくるかは変わります。斜めになっていれば複数の軸に値が出てきます。
さらに、動かしてる途中で端末の向きが変わることも考慮したほうがよいかもしれません。座標系を変換して世界座標(東西南北高さの座標)にしてから考える場合もあります。行列計算の知識が必要です。
円運動などということになると、「空間中で物体が円運動する」というのはどういうことかを数学的に理解しておかなければなりません。x^2+y^2=aとか、これを時間(t)を媒介変数にして表した方程式とか、ああいうやつです。これを3次元で考えるのです。で、取得した加速度センサーの値とこの運動がどう結びつくのかを理解して、やっと「運動を判定」にたどり着くことが出来ます。
AndroidのAPIにこのあたりの計算を支援してくれるものもあるようですが、これらを理解してないとリファレンスに書いてあることが理解できません。
ということで頑張ってください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
円軌道を描く物体には「向心加速度」という加速度がかかります。
こいつは、常に同じ場所を指している加速度です。
各軸方向の加速度を合算すれば、加速度ベクトルを得ることができるので、
これがある範囲をさし続ければ円軌道を描いている、ということになるのでは?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
理論としては先の方の解答を参考にされたらいいと思います。
ご存知でしたら失礼ですが、
加速度センサから得られるセンサ情報は、当たり前ですがノイズやら手ブレやらが入るため、ローパスフィルタがないと精度的に厳しいかもしれませんので、頭の隅にでも置いておいて下さい。
(といっても、この部分の実装は簡単です。)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.37%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる