共有:スマートフォンをテーブルに置くとテーブルの傾きが分かる。そんな「水準器アプリ」を試作しました。本記事は、「水準器アプリの試作1」の続き記事です。今回試作する「水準器」は、大きく2つの機能で構成されています。加速度センサーから、スマ-トフォンの傾き(方向、角度)を計算する、計算機能。次に、計算結果をビジュアル表示する、表示機能です。前回「水準器アプリの試作1」で、「表示機能」について説明しました。今回「水準器アプリの試作2」で、「計算機能」について説明します。スマートフォンの座標系です。左側が、スマートフォンの正面図です。右側は、スマートフォンの側面図です。座標系の各軸には色が付いています。スマートフォンを前傾させた図です。前傾したスマートフォンスマートフォンを「静かに」前傾させていますそのため、重力(G)以外の加速度が発生していない状態です。以下となります(注1)。(注1)実際には、上記値を中心に、値が細かく振動しています。重力のみを検出します。重力(G)は、常に鉛直方向を向いているので、重力を検出することで、スマートフォンの傾き(方向、角度)が分かります。スマートフォンの傾き(方向、角度)を計算します。傾き方向スマートフォンの傾き方向の各成分は、以下となります。傾き角度スマートフォンの傾き角度は、次式で計算します。詳細は、以下の記事をご参照ください。スマートフォンの傾き角の計算スマートフォンの傾き角のプログラム閾値(Threshold)傾き角度が小さい場合、傾き角度を「0°」とします。値が小さくなることが分かります。計算すると、以下となります(注3)。しましたそこで、閾値(Threshold)を以下としました。以下であれば、「0°」とみなしています。中心座標を保存する変数です。スマートフォンの傾き(方向、角度)は、スマートフォンの中心にある正方形領域に描画します。上での位置を保存する変数です。詳細は、記事「水準器アプリの試作1」をご参照ください。正方形領域の一辺の長さです。行、各値を平滑化するための変数です。:傾き方向(Gy)詳細は、記事「スマホセンサーのノイズ軽減」をご参照ください。場合、補正するための変数です。補正」をご参照ください。行、詳細は、記事「水準器アプリの試作1」をご参照ください。補正」をご参照ください。行、加速度センサーの値を得ています。場合、補正処理しています。行、傾き角度(θ)を計算しています。Gy)の平滑化処理しています。