0

電話が回転した量をどのように計算しますか? ここで、「ゼロ度」は指定したものです。

たとえば、縦向きの位置でテーブルの上に携帯電話を平らに置いているとします。これを「ゼロ度」としましょう。

携帯電話を右に回転させて、横向き (携帯電話の上部が右向き) になるようにします。これは「90 度」になります。

この回転中に、電話機は 20、30、40 度など回転します。

これまでのところ、携帯電話の回転を検出する方法は、加速度計とコンパス、つまり " getAzimuth()" を使用することであることがわかりました。ただし、「0 度」は常に北です。

基本的な方向に関係なく、電話の回転を計算する方法はありますか?

ノート:

  • libgdx を使用しますが、センサーの動作はそれほど変わらないはずです
  • " getRotation()" は 0、90、270 度の回転を決定できるようですが、その間の値は決定できません
  • 私が使用している電話にはジャイロスコープがありません。理想的には、ソリューションにもジャイロスコープは必要ありません

ありがとう :)

4

2 に答える 2

2

任意の2つのベクトル間の角度を計算できます。それらの1つが北への方向を持っている場合(方位角0)-これは単なる特殊なケースです。他の角度をベースとして選択し、次の測定値から差し引くことができます。

北を指していない方位角が0になるように携帯電話に指示する手段はありません。ところで、「回転」は画面の向きに関するものであり、これはモバイル回転の副産物です。

于 2012-12-18T13:19:32.303 に答える
0

携帯電話の回転を確認するには、加速度計モーションセンサーを使用できます。以下のリンクは基本的なモーションセンサーリンクについて示していますが、このセンサーを使用して完全な回転を確認し、回転の値をインクリメントする必要があります

于 2012-12-01T09:02:22.453 に答える