Briswell Tech Blog

ブリスウェルのテックブログです

座標変換

物事の考え方や捉え方を変えてみると、新しい発想や解決法が得られることがあります。

  • 別の立場の人の視点に立って物事を考えてみる。
  • 他の人のいつもと違う考えや価値観に触れて、別の視点に気付く。

等、ビジネスを取り巻く環境が大きく変化する今日この頃、多様な視点を持つことはとても大事ですね。

さて、今回を視点を変えるということで...
画像の座標変換という手法を試してみます。

世界地図と地球儀で、大陸や島の大きさがそれぞれで違うと感じたことはないでしょうか?
メルカトル図法の地図は、楕円体である地球を円筒で表現している(緯線はすべて赤道と同じ長さになる)ので、北極や南極に近づくほど実際の面積よりも大きく表示されてしまいます。

matplotlibとMayaviでNASAの画像を『地球儀』にしてみた。 - プログラム日記φ(..)

こちらの記事でご紹介されているように

 x = r \sinθ \cosφ
 y = r \sinθ \sinφ
 z = r \cosθ

球面座標 (動径r, 緯度θ, 経度φ)

直交直線座標 (x, y, z)
へ変換することで、地図の各緯度経度の値を球面にマッピングし、地球儀を作成することができます。

ついでに
mplot3d API — Matplotlib 2.0.2 documentation

view_init(elev=None, azim=None)
# elev: z軸方向から見た仰角
# azim: x, y軸方向の方位角

この関数を使用し、azimの値を0〜360の間で変化させて、地球儀を回転させてみます。 f:id:KenjiU:20220130235421g:plain 地図ではなく、写真を球面にマッピングすると以下のようになります。 f:id:KenjiU:20220130235447g:plain 目が回りそうです。
座標変換ですが、AIで画像解析する際の前処理の一つとして使うこともあります。また別の機会にご紹介しますね。