JavaScriptプログラム

スマートフォンの各座標系

スマートフォンの本体の座標系とスクリーンの座標系の関係を知ることは重要です。

例えば、加速度センサーからは、スマートフォン本体の座標系でデータ出力されます。
一方、アプリケーションは最終的にスクリーンの座標系で表現する必要があります。
そのため、加速度センサーのアプリケーションを作るには、この2 つの座標系の関係を知る必要があります。

  • スマートフォン本体の座標系: スマートフォン座標系
  • スマートフォン画面の座標系: スクリーン座標系

 

 

 

スマートフォン座標系

Fig.1 は、スマートフォン座標系です。

Fig.1 スマートフォン座標系

 

Front view

Fig.1 左側は、スマートフォンの正面図(Front view)です。

スマートフォンを正面から見た図です。

スマートフォンは、画面がある側が「正面」です。

画面中央に座標系の原点があります。

そこから、スマートフォン画面の右方向に「x軸」が伸びています。

また、上方向に「y軸」が伸びています。

z軸」は、画面から手前方向に伸びています。

 

 

Side view

Fig.1 右側は、スマートフォンの側面図(Side view)です。

スマートフォンを側面から見た図です。

 

 

 

 

 

スクリーン座標系

Fig.2 は、スクリーン座標系です。

 

Fig.2 は、スマートフォンの正面図(Front view)です。

 

スクリーン(screen)

スクリーンのサイズ(幅、高さ)は、以下の予約語で取得できます(Fig.2 参照)。

  • 幅 : screen.width
  • 高さ: screen.height

 

ウィンドウ(window)

スクリーン上の、ユーザが利用できる領域をウィンドウとよびます。

ウィンドウのサイズ(幅、高さ)は、以下の予約語で取得できます(Fig.2 参照)。

  • 幅 : window.innerWidth
  • 高さ: window.innerHeight

 

スクリーン座標

ウィンドウの左上が、スクリーン座標の原点です(Fig.2 参照)。

そこから、スマートフォン画面の右方向に「i 軸」が伸びています。

また、下方向に「j 軸」が伸びています。

 

 

 

 

スマートフォン座標系とスクリーン座標系の関係

Fig.3 は、スマートフォン座標系とスクリーン座標系です。

Fig.3 スマートフォン座標系とスクリーン座標系

スマートフォン座標系(xyz)のx-y 軸と、スクリーン座標系(ij)の関係は以下となります。

ここで、(i0 , j0)は画像中心で、εは画素換算比です。

 

画像中心

i0, j0 の位置は、例えば、加速度センサーを利用する場合、その加速度サンサーの位置にするべきです。

  • 画像中心: 使用するセンサーの位置

今回は、簡易的にウィンドウ座標の中央とし、次式となります。

 

 

画素換算比(ε)

画素換算比(ε)は、スマートフォンの機種毎に、または、採用しているスクリーンパネル毎に違います。

スマートフォンの仕様書の画像解像度が、例えば、500 ppi(pixel / inch)の場合、

1 インチ(inch)は25.4 mm なので、計算すると画素換算比は以下となります。

  • ε = 500 / 25.4 = 19.685(pixel / mm)

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です