LoginSignup
15
12

More than 3 years have passed since last update.

OpenGLでEquirectangular形式の画像を扱う場合の作法

Last updated at Posted at 2019-04-09

はじめに

こんにちは!

メロンパン大好きリコーの@meronpanです。 :melon:

主にTHETAプラグインに関連する記事を書いてます。

THETAプラグインをご存じない方はこちらをご覧ください。

もし、興味を持たれた方はTwitterのフォローと
THETAプラグイン開発コミュニティ(Slack)への参加もよろしくおねがいします。

前回記事ではTHETA内でインスタ映え画像を表示するTHETAプラグインについて書きました。

今回はその続きと思いきや、気まぐれのメロンパン

THETAの画像(Equirectangular形式の画像)を扱う場合の作法についてやんわりと説明して行きたいと思います。

いやー、メロンパンのやること想像つかない。 :melon:

というわけで早速内容に入ります。

目次

  • THETAで撮影した画像形式(Equirectangular)
  • Equirectangularの扱い方を学ぼう
  • 球体モデルを作成しよう
  • メロンパンの戯れ
  • メロンパンの呟き

THETAで撮影した画像形式(Equirectangular)

「Equirectangular」は日本語で正距円筒図法といいます。

「正距円筒図法(Equirectangular)」は地図投影法の一種であり、緯線・経線が直角でなおかつ等間隔に交差するように描かれている図法です。

この図法で描かれた世界地図を見たことがある人も多いと思います。

メロンパンがたった1人でみなとみらいに行った時の画像を使って説明します。 :melon:

THETAでとった360°画像は以下のようになってます。

equirectangular.png

こちらが「正距円筒図法(Equirectangular)」です。

Equirectangularの扱い方を学ぼう

世界地図が地球儀に置き換えられるように、Equirectangularは球体モデルに変換することが出来ます。

全天球画像で画像処理を行うときは、Equirectangularから球体に形式を変換してから処理することが非常に多いです。

下図にあるように、Equirectangular上の点Peを単位球上の点Psに変換する場合を考えたいと思います。

λは経度、φは緯度を表します。

equi2sphere.png

Equirectangular ↔ 単位球の相互変換式は以下の図のように、点と軸と平行な線で構成された立方体から考えます。

(分かりやすくするために、単位球上の点周りを拡大して補助線を引きました。)

変換式は、下図の右側のようになります。

equi2sphere2.png

球体モデルを作成しよう

やり方としてはグラフィック処理で、球体の型を作成し、そこにEquirectangularの画像を貼り付けることを行います。

実際には、「Equirectangularの扱い方を学ぼう」で説明した計算式を使ってEquirectangular形式の画像を球面に置き換える処理を行っています。

作成した球体の型は以下の写真です。

sphere_model.png

型は頂点の集合体となっており、わかりやすいように頂点間を繋いで格子状に表示してみました。

同様にEquirectangularも格子状に分割し、球体の型に貼り付けていくイメージです。

型に貼り付けるとー

sphere.png

じゃじゃーん!!

球体のモデルができましたー

メロンパンの戯れ

ここでは数式を変えるだけで球体以外にも画像を貼り付けられることを紹介したいと思います。

以下を参考にボンヌ図法で表示させてみました。

リンク先よりボンヌ図法の数式を参考に「球体モデルをみてみよう」で説明したようにボンヌ図法の型を作成するとー

bonne_model.png

さらに、撮影した画像をボンヌ図法で作成した型に貼り付けていくとー

bonne.png

できましたー

メロンパンの呟き

openGLを使ったTHETAで撮影した画像の扱い方を紹介しました。

数式を使ってモデルを表すことができればもっと色々なことができると思います。

メロンパンはあまり数学得意ではないので、脳みそフル回転させました。

みなさんもメロンパンフル回転させて、ぜひ色々な表現方法を試してみてください。

これであなたもTHETAプラグインにメロメロン :melon:

15
12
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
12