六分儀として機能するアプリケーションを作成しようとしています (オブジェクトの高さを見つけるため)。加速度計からのデータを使用して、電話が指している角度を見つけることは可能ですか? 理想的には、ユーザーはスマートフォンを横向きに持ち、端に沿って角度を確認します。
4 に答える
加速度計のみを使用して、モバイルデバイスを六分儀として使用できます。
構造物の高さを見つけるには、次の手順に従います。
ユーザーは電話を持って、その端に沿って構造物の底まで見ます。
ここで彼はButtonAを押します。ユーザーは電話を持って、その端に沿って構造物の上部を見ます。
ここで彼はButtonBを押します。
ボタンが押されたときに、アプリは加速度のz値を保存する必要があります。
これで、角度は次のように計算できます。
シータ=逆コサイン-of(Zb / Za)
方向センサーを使用します。SensorManagerのドキュメントを参照してください。
まだご覧になっていない方のために、Surveyorというアプリがあります。これはあなたが求めているものと似たようなことをします。
加速度計のデータは、重力がどの方向に引っ張られているかを教えてくれます。そこから、地面に対して携帯電話がどの角度で保持されているかを知ることができます。非常に安定しているか正確ではない可能性が高いため、あなたが説明しているような正確な用途でどれだけうまく機能するかはわかりません.
http://code.google.com/p/moonblink/wiki/Tricorder このアプリは基本的に、携帯電話が提供する加速度計データとコンパス データの両方の優れたデモです。センサーが提供するデータがあなたのアイデアに役立つかどうかを確認するために、それを確認することをお勧めします.
これは不可能だと思います。電話が提供する唯一のデータは、加速度、つまり時間の経過に伴う速度の変化です。
必要なのは、ここで説明されているコンパス機能を備えた電話です。このセンサーを使用すると、六分儀のようなアプリを実装できると思います。