2011-01-25 6 views
1

私は、(オブジェクトの高さを見つけるために)六分円として動作するアプリケーションを作成しようとしています。携帯電話が指している角度を見つけるために加速度計からのデータを使用することは可能ですか?理想的には、ユーザは自分の電話を横長の位置に保持し、その端に沿って角度を見る。加速度計から電話の角度を見つけますか?

答えて

-1

私はこれが可能ではないと思います。電話があなたに与える唯一のデータは、加速、時間の経過による速度の変化です。

必要なものは、コンパス機能が記載されている電話です(here)。私はこのセンサーを使って、アプリのような六分円を実装できると思います。

0

加速度計のデータは、どの方向の重力が引っ張られているのかを知ることができ、地面に対してどの角度の電話が保持されているか把握できます。非常に安定しているとは言えませんし、正確であるため、あなたが記述しているような正確な使用のためにどれくらいうまくいくか分かりません。

http://code.google.com/p/moonblink/wiki/Tricorder このアプリは基本的に加速度計のデータとあなたの携帯電話が与えることができるコンパスデータの素晴らしいデモです。私はそれを見て、センサがあなたに与えたデータがあなたのアイデアに役立つものかどうかを見てみることをお勧めします。

0

オリエンテーションセンサーを使用してください。 the SensorManager documentationを参照してください。

見たことがない場合、サーベイラーと呼ばれるアプリがあります。これはあなたの後ろに似ています。

2

あなたオンリーアクセラレータは、モバイルデバイスを六分円として使うために使用します。この手順に従う構造の高さを見つけるために

  • ユーザーが携帯電話を保持し、構造のへのエッジに沿って見えます。
    ここで彼はButtonAを押す。

  • ユーザは電話を持ち、その端に沿っての構造に見える。
    ここで彼はButtonBを押します。

アプリは、ボタンが押されたときにアクセルz値を保存する必要があります。

角度が今のように計算することができます。

シータ=逆余弦の(Zbを/ザ)

+0

あなたが 'Zbと/ Zaは' 1よりも大きくなる必要があることを認識していますか? ACos関数は-1と1の間の値しか受け取らないため – ravemir

関連する問題