質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

3回答

7321閲覧

Android 加速度センサー 動き

fefe

総合スコア46

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/04/12 04:16

考え方についての質問です。
現在加速度センサーを使用したモーション判定のアプリ(円を描く、四角を描くなど)を作成しようと考えているのですが、x,y,z軸の値は取れるのですが、円を描いた時に円を描いたと判定するにはこの値をどのように計算すればモーションの判定が出来るのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

計算方法だけ提示されても間違いなく実用にはならないので、まずは物理(空間と運動の関係)と数学を勉強する必要があります。

加速度を積分すると速度が計算できます。それをさらに積分すると移動距離が出ます。加速度を微分すると動き始め、終わりが判定できます。1軸で直線運動ならまだ簡単です。

Androidの加速度センサの軸は端末の向きなので、同じ方向に動かしても端末の向きによってどの軸に値が出てくるかは変わります。斜めになっていれば複数の軸に値が出てきます。

さらに、動かしてる途中で端末の向きが変わることも考慮したほうがよいかもしれません。座標系を変換して世界座標(東西南北高さの座標)にしてから考える場合もあります。行列計算の知識が必要です。

円運動などということになると、「空間中で物体が円運動する」というのはどういうことかを数学的に理解しておかなければなりません。x^2+y^2=aとか、これを時間(t)を媒介変数にして表した方程式とか、ああいうやつです。これを3次元で考えるのです。で、取得した加速度センサーの値とこの運動がどう結びつくのかを理解して、やっと「運動を判定」にたどり着くことが出来ます。

AndroidのAPIにこのあたりの計算を支援してくれるものもあるようですが、これらを理解してないとリファレンスに書いてあることが理解できません。

ということで頑張ってください。

投稿2016/04/12 05:29

suzukis

総合スコア1449

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

理論としては先の方の解答を参考にされたらいいと思います。

ご存知でしたら失礼ですが、
加速度センサから得られるセンサ情報は、当たり前ですがノイズやら手ブレやらが入るため、ローパスフィルタがないと精度的に厳しいかもしれませんので、頭の隅にでも置いておいて下さい。
(といっても、この部分の実装は簡単です。)

投稿2016/04/12 05:54

編集2016/04/12 06:05
Odacchi

総合スコア907

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

円軌道を描く物体には「向心加速度」という加速度がかかります。
こいつは、常に同じ場所を指している加速度です。

各軸方向の加速度を合算すれば、加速度ベクトルを得ることができるので、
これがある範囲をさし続ければ円軌道を描いている、ということになるのでは?

投稿2016/04/12 04:43

tnd-.-b

総合スコア247

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tnd-.-b

2016/04/12 04:45

申し訳ない。言葉の定義(向心加速度)は正確じゃないかもしれません。 とりあえず、円軌道の場合は常に中心を向き続ける加速度がかかります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問