プチコンはじめました。

プチコンはじめました。またすぐ飽きるかも。。

全体表示

[ リスト ]

remapCoordinateSystem で悩む

こんばんわ〜

前回メモアプリを作ったのですが、なかなか使えるなと自画自賛。
立ち上げて何か編集して、そのまま終了すると勝手に保存するようにしたのですが、起動→メモを書く→終了させるとして保存しまくって、後で画像を整理するという使い方にしているのですが、なかなか便利につかえるなと。。

それはそうと今度は、センサーの値を確認できるアプリを作成中。
画面はこんな感じです。

イメージ 1

磁気センサーと加速度センサーとそれらから端末の向きを計算した値をそれぞれ表示します。
端末の向きがなかなか理解できなくて。。。

最終的には以下のようにして、傾き(画面ではROTATIONになっていますが。。。)を求めました。

SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_X, SensorManager.AXIS_Y, outR);
SensorManager.getOrientation(outR, orientationValues);

特にremapCoordinateSystemの第二、第三引数が何にするのがいいのかが理解できなかったのですが、私は次のように自分なりに納得したつもり。おばかさんなので間違っているかも。。

1.地球の南北をY軸、東西をX軸、地球の中心から空へ向かう軸をZ軸とする。
2.端末の上下をY軸、左右をX軸、向こう側、手前をZ軸とする。
3.地球のX軸、Y軸に対して端末のどの軸をどの向きで割り当てるかを指定する。

私の端末で

SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_X, SensorManager.AXIS_Y, outR);

とした場合は、端末を画面を空に向かっておいて、端末の上部を北に向けたときにOrientationが全部0になります。画面を立てていくとX軸周りに値が変わっていって、画面を横に回すとY軸周りに値が変わります。

たとえばASIX_X,AXIS_Zとするとえぇ〜と画面を北に向けて、端末の上を空に向ければいいのかな?あれ?違うか?XはAXIS_MINUS_Xとして正負を逆にしないといけないですかね。。。うぉ〜やっぱりわからなくなってきた。マップをメニューから選べるようにしてみようかな。。



よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事