- ベストアンサー
全方向パノラマ写真の平面投影。
全方向パノラマ撮影したものを平面に投影する場合、 直線が曲線になる方法Aと、 直線を保つ方法Bがあるようです。 A)東京 http://360gigapixels.com/tokyo-tower-panorama-photo/ B)ロンドン http://360gigapixels.com/london-320-gigapixel-panorama/ この二つの違いはどこから来るのですか? 数学があまり得意でない人にも分かる説明だと助かります。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
ANo.10へのコメントについてです。 > 「天使と悪魔」は下記のmapping_tokyo_2.jpgに相当するということですね。 はい。mapping_tokyo_1~5全部が「天使と悪魔」に相当しているんです。 確かに、mapping_tokyo_2は、ANo.8下図の黄色い円が水平線とほぼ一致しているので、「天使と悪魔」との類似性が分かり易い。でも、mapping_tokyo_1~5は全部同じ変換だと思われ、ただ単に、どっちを正面(z軸)にするか、という向きの違いがあるだけです。 ANo.8下図の黄色い円は「正面方向(z軸の方向)から(どっち向きにでも)90度異なる方向にあるもの(ANo.9の緑の大円)」が画像上に描かれる位置です。なので、正面を真下向きにしたmapping_tokyo_2や3だと、黄色い円と水平線が一致する。また、正面を真上にしたmapping_tokyo_4や5でも同じで、ただし円の内外が入れ替わる。一方、mapping_tokyo_1は正面が水平線を向いているので、黄色い円は視点Cのの真下方向、真上方向、そして左右の真横方向を通る円(ANo.9の緑の大円)に対応しています。 なお、mapping_tokyo_2と3の違いは、スクリーンの真ん中だけを見ているのが2, もっと広い範囲を見ているのが3, という、スクリーンをモニタに表示する際の拡大率だけの違いです。mapping_tokyo_4と5の違いも同様。
その他の回答 (10)
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.9へのコメントについて。 > 球の中心は撮影時の視点なので、直線に見えるものはそのまま直線に投影されるということでしょうか。 そうです!まさしくその通りです!! ところで、ANo.9の図で、球面上にある緑色の大円は、点Cを光源にするとスクリーンに写りません。しかし点Nが光源なら、その大円はスクリーンには円に写ります。それが、ANo.8の下の図の黄色い円弧です。 角が正しく写るということの説明は、退屈になってしまいそうなんで、ここではやめときましょう。 ところで、「クリーム色の平面にびっしりとタイルを敷き詰めたものを視点Cから撮影して球面上に貼り付け、これを改めて光源Nから平面へ投影したらどうなるか」という図像を、エッシャーがいくつも版画作品にしています。「天使と悪魔」はその代表作です。(丁度、ANo.8で、黄色い円の内側の部分に相当します。)
お礼
たしかに点Nから見ると角度が保たれるのが不思議です。 でも豊富で詳細な多数の図を付けて下さり大変に分かりやすかったです。 数式に弱くても視覚的に把握することが出来ました。 ありがとうございます。 「天使と悪魔」は下記のmapping_tokyo_2.jpgに相当するということですね。 https://drive.google.com/folderview?id=0B9oHeMEsG1xmcEpBaEc4bmFqMzA&usp=sharing
- stomachman
- ベストアンサー率57% (1014/1775)
ヒン曲がった東京のパノラマ画像上に曲線を描いてみた結果として、「多分こうだろう」と推定した式は: (X,Y) = (x/(1-z), y/(1-z)) です。これは等角写像の一種。例の本によれば、立体射影変換です。(実は、これの逆は数学でおなじみの変換でした。ったく、なんですぐに見抜けなかったのかなと、不甲斐なく思っています。) さて、式だけ見たって「何のこっちゃ?」と言われそうですので、なんとか分かり易くするために、ロンドンの写像と、東京のヒン曲がり写像を作図する方法を添付してみました。(それでも、分かりにくいですが。) 添付図の説明: クリーム色の平行四辺形は画像の平面です。この上に2次元のパノラマ画像が描かれます。なのでX軸とY軸はこの平面上にあります。 カメラのある位置Cを中心とする半径1の(仮想の)球面があります。黒の円で輪郭を描きました。これを地球に見立てると、細い緑、オレンジ、黒の線は子午線と赤道を示しています。(裏側は破線になっています。) この球は「カメラから見た方角」を図示するためのものです。たとえば、「カメラを真っ正面に向ける」ことを表すのが球面上の点Sです。球面上の、Sと丁度反対側の点Nは「カメラを真後ろに向ける」ということです。 そして、この球の表面に「そっちにカメラを向けたら、写真の中心に何が見えるか」が貼り付けてあると考えて下さい。すなわち、 C点にある「うんと視野の狭い超望遠カメラ」をSの方向に向けて撮影した小さな写真が、球面上のSの所に貼り付けてある。同様に、球面上の点P(この図では球の裏側になっちゃいますが)には、C点にあるこのカメラをPの方向(つまり右斜め上)に向けて撮影した小さな写真が、貼り付けてある。Q点は「左の方45度ぐらい」にこのカメラを向けて撮った写真が貼り付けてある。 以上で準備が完了。 ロンドンの写像は、クリーム色の平面と、CとPを結ぶ直線(青)との交点P'のところに、Pに貼ってあった写真を投影したものです。言い換えれば、C点に点状の光源を置いて、Pの影をクリーム色の平面に写して影絵を作るのです。点Qについても同様であり、そして、球面上のあらゆる点についても同様です。 この変換が(X,Y)=(x/z, y/z)で、球面上の大円(Cを中心とするあらゆる円)をクリーム色の平面上の直線に写します。 東京ヒン曲がり写像は、クリーム色の平面と、NとPを結ぶ直線(青)との交点P''のところに、Pに貼ってあった写真を(プロジェクターのように)投影したものです。つまり、今度はN点に点状の光源を置いて、Pの影をクリーム色の平面に写して影絵を作るのです。点Qについても、そして、球面上のあらゆる点についても同様です。 この変換が(X,Y)=(x/(1-z), y/(1-z))で、球面上の角度をクリーム色の平面上の角度に正しく写します。
お礼
ありがとうございます。 光源の位置が球の中心Cだと直線が保たれて、 それ以外の位置だと曲線になるのですね。 球の中心は撮影時の視点なので、直線に見えるものはそのまま直線に投影されるということでしょうか。 理由まで完全には理解できませんが、そう言われればそんな気がします。
- stomachman
- ベストアンサー率57% (1014/1775)
添付は 直線が歪まない投影変換で作られた(と思われる)画像[上]と 角度が歪まない等角変換で作られた(と思われる)画像[下]と の対応。 緑の線は、「x軸に平行な直線」 オレンジは「z軸に平行な直線」 赤い線は、「視点直下の地表の点から、いろんな方角に向いた直線」 青いのは、「視点直下の地表の点を中心とする円」 が、両者の変換でどうなるか。 いやもちろん、推測ですが。で、その推測によれば、下の図の黄色の線は「上の図をいくら広げてみても表せない限界線」、つまり上の図ではXやYが∞になってしまう場所です。
お礼
補助線により何となく雰囲気が伝わってきました。 こういうのって数学得意な人にとっては簡単なものだと思っていたのですが、なかなか厄介な面もあるのですね。 ありがとうございます。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.6へのコメントについて。 > ということでしょうか。 はい。 ANo.5とANo.6で提出した仮説について、その本質をカンペキに理解なさってます。 ついでに、ANo.5のミスプリの修正をしておきます。(何度もコピペをやってる内に間違えちゃったようです。) ※【まず、x-z平面上の全ての点、つまり高度が視点と等しい点(x,0,z)は、画像ではX軸上の X=x/z】 この式は、「(X,Y)=(x/z,0) 」とすべきでした。 ※【地表にある、x軸と垂直な直線(FigA, FigBの緑の平行線)】 「地表にある、x軸と平行な直線(FigA, FigBの緑の平行線)」の間違い。 ※【地表の、x軸と平行な直線(FigA, FigBのオレンジの平行線)】 「地表の、z軸と平行な直線(FigA, FigBのオレンジの平行線)」の間違い。 ※【これは画像上では双曲線です。(FigA, FigBの青い曲線。)】 「これは画像上では双曲線です。(FigCの青い曲線。)」の間違い。 *【画像上ではこの双曲線の漸近線 Y=±(H/r)X に写ります。】 最後の「。」の直前に「(FigCの青い直線)」を追加です。
お礼
数式で完全に理解するの私には難しいようなので、さきに書いたような形でとりあえず納得しておくことにします。 丁寧にありがとうございました。
- stomachman
- ベストアンサー率57% (1014/1775)
歪んでいる東京のパノラマにおいて、局所的に見ると、実は歪みがない。「またそれかよ!」と怒られそうですが、いや、しばしご覧じ。 ロンドンの方は、なるほど直線が直線に写っているけれども、直線同士の交差するところを見ますと、その角度がひどく歪んでいます。一方、貼り付けていただいた東京のパノラマでは、なるほど直線は曲線になって写っていますが、その曲線同士の交差を見ると、角度は自然です。なので、この図を(元のサイトの拡大ボタンを使うのではなしに、単純にただの画像として)うんと拡大して一部分を切り出せば、直線の歪みがほとんど目立たなくなり、単なる「写真」に見えるであろう。 言い換えれば、非常に視野の狭い望遠カメラをあちこちに向けて、小さな写真を沢山集め、それらを適当に拡大縮小しながら互いにうまくつぎはぎして一枚の平面写真を作る、ということをやると、お示しのパノラマに似たものになるはずである。 流体力学で応用される「等角写像」は、丁度このような特徴を持っています。というわけで、stomachman邸の第二書庫から昭和10年刊行という骨董品の教科書を掘り出して参りました。(旧仮名・旧字体のデスマス調の本でして、内容以前に眺めるだけでもあんまり大変で「積ン読本」になっていたのです。) 曰く:等角写像にも色々あるが、そのひとつとして、複素数tを t = x+iz とするとき、ある複素数の定数aを以て、 Y+iX = (t-a)/(t+a) によって等角写像が構成できる。 あー、そういえばこの式には何度かお目にかかったことがあるなあ。原点が一つの点に写る。あるひとつの円周が直線に写る。あれ、でも、z=∞が扱えないんじゃないかな。もっと他の等角写像なのかも。 んー。というわけでもうしばらくお待ちを。(いや、続かないかも。てか、このヒントがあれば、もっと得意な回答者がいっぱいいそうです。)
お礼
A東京: 直線が歪むけど縦横の交差角度は保たれる。 Bロンドン: 直線は保たれるけど、縦横の交差角度は狂う。 ということでしょうか。 ありがとうございます。
- stomachman
- ベストアンサー率57% (1014/1775)
「ロンドン」あるいはANo.3の添付図の写像は、ピンホールカメラのシミュレーションになってると思われ、これは、(パノラマ写真に限らず)空間を平面に写すときの基本だと言えましょう。なんでこれが基本かというと、画像を表示した画面に対して、ある正しい位置に片目を置いて画像を観察したとき、網膜に写る像が(うまくピントが合えば、ですが)、ホントに風景を見ている像と一致するからです。(ま、大抵は、正しくない位置から見てしまってるんですけどね。) まず、画像の平面座標系(X,Y)を決めます。画面の中心を原点(X,Y)=(0,0)とし、X軸は左右方向、Y軸は上下方向に取ります。(FigCの黒の座標軸) また、空間の座標系(x,y,z)を決めます。ただしこれは、地球に対して固定したものじゃなくて、視点(カメラ)に固定されていると考えます。原点(x,y,z)=(0,0,0)は視点。z軸はカメラの中心視線とし、これは常に画像の(X,Y)=(0,0)の1点に写る。水平なのがx軸、両者に直交するのがy軸です。(FigAの黒の座標軸) 視点の、地面からの高さをHとします。これは固定です。 初期状態では、z軸は水平(地面と平行)になっているようです。なので、以下、z軸が水平であるとして説明します。このとき、視点直下の地面上の点は(x,y,z) = (0, -H, 0)です。そして、画像上では、風景の水平線がX軸と(ほぼ)一致します。(地球が丸いために、Hが大きいとき、ホントはチョットだけずれが生じます。) 写像はとても簡単で、 (X,Y) = (x/z, y/z) です。この写像は、2点(x1,y1,z1), (x2, y2, z2)を結ぶ直線 (x1+(x2-x1)t, y1+(y2-y1)t, z1+(z2-z1)t) (tはパラメータ) を (X, Y) = (x1+(x2-x1)t)/(z1+(z2-z1)t), (y1+(y2-y1)t)/(z1+(z2-z1)t)) に写す。パラメータtを消去してXとYの方程式にすると、 (z1(y2-y1)-y1(z2-z1))X + (x1(z2-z1)-z1(x2-x1))Y = (x1(y2-y1)-y1(x2-x1)) となり、つまり、空間中の直線は画像上の直線に写される。なので、ヒン曲がるということは起こらないんです。 z軸が水平である場合、地面の平面は、もちろん方程式 y=-H で表されます。以下、この状態に限って話をします。 まず、x-z平面上の全ての点、つまり高度が視点と等しい点(x,0,z)は、画像ではX軸上の X=x/z に写ります。 地表にある、x軸と垂直な直線(FigA, FigBの緑の平行線)は、(0,-H,z)と (x, -H, z)を結ぶので、画像上ではX軸と平行な直線 Y=-H/z になります(FigCの緑の平行線)。 地表の、x軸と平行な直線(FigA, FigBのオレンジの平行線)は(x,-H,0)と (x, -H, z)を結ぶので、画像上では原点(0,0)を通る直線 Y = -(H/x)X (FigCのオレンジの線)。ビルの側壁のような鉛直線(FigAのピンクの線。FigBではピンクの点)は(x,0,z)と(x,y,z)を結ぶので、画像上ではY軸と平行な直線 X = x/z (FigCのピンクの線)。 視点直下の地表を中心とする半径rの地表の円(FigA, FigBの青い円)は、方程式 (X^2) - ((r/H)^2)(Y^2) + 1= 0 で表され、これは画像上では双曲線です。(FigA, FigBの青い曲線。) この円の(r, -H, 0)と(-r, -H, 0)における互いに平行な二つの接線(FigA, FigBの青い直線)は、画像上ではこの双曲線の漸近線 Y=±(H/r)X に写ります。 また、円の中心点、すなわち視点直下の地表の点(0,-H,0)は、画像上では(X,Y)=(0, -∞)に写ります。この中心点を通る直線(FigA,FigBの赤の太い線)は、画像上ではY軸と平行な直線(FigCの赤の太い線)に写り、だから交点がなくなってしまう訳です。 次なる問題は、ANo.4に添付したような、歪んだ東京の画像なんですが。えーと。続く。(続かないかも)
お礼
画像付きの丁寧な回答ありがとうございます。 私には数式の意味するところを十分理解することは出来ませんが、説明全体から雰囲気だけでも掴もうと努力しています。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.3へのコメントについてです。 むむむ、ANo.3に添付した初期状態の図では、端の方のビルもまっすぐ立ってはいる。キャプチャーなさった初期状態(この回答に添付)では端の方のビルが傾いているし、よく見るとそのビルがヒン曲がってますよね。初期状態からして、明らかに違っています。だから操作の問題ではない。 どうなってるんだろう。まずは、幾人かご友人のPCでご覧になってみたら?違いが生じるための条件が探れるかも知れません。 それはさておき、この変換がどういうものなのか、というのがご質問でした。 スクリーンが平面であるピンホールカメラでは(ANo.3添付図のような)直線が直線に写る写真が撮れるはずですが、こちらのヒン曲がってる方は広角レンズで撮影された写真そのものに似ていて、これを曲面(おおよそ球面とか)のスクリーンに投影すると初めて直線が直線に写る、という風になっている気がします。ですが、詳細はもうちょっと待って(とか言って、続かなかったりして。)
お礼
とりあえず、パソコン自体やWindowsのバージョンやブラウザを買えてみましたが、いずれもAとBの表示のされ方はそれぞれ別々でした。 本題ですが、私には二つの投影法がどう違うのかが分からないので、分かる範囲で教えてもらえれば助かります。
- stomachman
- ベストアンサー率57% (1014/1775)
ANo.2へのコメントについてです。 画像を添付して戴いて、ようやく >どうみても明らかに違っているのに。 >どうしてこういう反応が返ってくるのかサッパリ分かりません。 と仰るのが理解できました。なるほど東京の写真はヒン曲がっている。 ところがです。リンク先をいろいろいじくってみても、ビルの縁は直線のまんまで、添付図の左側のようにはならないんです。いじくって、いじくって、いじくり倒してみても、ヒン曲がらない。 「こういう反応が返ってくる」理由はここにあったわけです。 最初から行きましょう。ご質問にあるリンクをクリックすると、まず図のようなのが出てきます。これが「初期状態」ですね。 さてそれから一体何をどうすれば、添付なさった図のようにできるんですか?そのやり方を教えていただけませんか? もし「やり方も何も、最初っから歪んでるじゃないか!」と仰るのだとすると、お使いのPCの環境(OS, ブラウザ, GPU, etc)に依存して生じる珍現象なのかも。 ご質問の現象を当方で再現するのが無理だったとしても、諦めることはありません。全体像を貼り付けてもらえば、大体どういう変換になっていそうか推定できるかも知れません。手間は掛かりそうですけど。 ところで、 > そんなに私は失礼なこと言ってますでしょうか???? ご質問が失礼だということじゃありません。 「言わんとしていること」という表現は、たとえば、<キミの発言はさっぱり要領を得ず、意味をなしていない。どうやら、筋の通った説明をするだけの言語能力がキミにはないのだろうからしょうがない。オレが、キミが何を言おうとしているのかを推察してやる>という場面にならふさわしい尊大な言い方です。もしそれをご承知の上でひとを怒らせるためにわざとお使いなら、そういう態度は失礼だからやめた方がいいと思う。また、もしそんな言葉だとは知らずに不注意にお使いであったなら、読み手の方にこそ「何を言おうとしているのかを推察してやる」必要が生じるわけで、恥ずかしいからやめた方がいいと思う。ですから、どちらにしても、その言い方はやめた方がいいと思います。(証明終わり)
お礼
ありがとうございます。 stさんは、昔1+1が2になる理由について回答されていた方ですよね? 尊敬する人に回答してもらえて嬉しいです。 お言葉に甘えて幾つかのパターンをキャプチャしました。 東京とロンドンそれぞれについて、 1.初期状態 2.そのまま真下を見る。 3.さらにそのままズームアウト最大。 https://drive.google.com/folderview?id=0B9oHeMEsG1xmcEpBaEc4bmFqMzA&usp=sharing よろしくお願いします。
補足
※画像を追加しました。 4.初期状態から真上を見る。 5.そこからズームアウト最大 先ほどのリンク先フォルダに入れました。
- stomachman
- ベストアンサー率57% (1014/1775)
http://okwave.jp/qa/q8209716.html と同じ質問ですが、前回同様、質問者氏の主張が全く伝わらんのですよ。(それはもちろん、両者に明らかな違いが見当たらないからです。) 回答者の「言わんとしていること」(これがものすごく失礼な表現だということを承知の上で、わざと言ってるんですかね?)が分からんとかノタマウ前に、一体どこにどんな違いが見えると仰るのか、具体的に説明してくれないと。 たとえば、スクリーンショットを撮って、補助線を書き込んで、「こっちの写真ではここんとこの線がこう曲がって見えるけど、あっちの写真ではここんとこの線がまっすぐに見える」のように説明したものを、ご質問に添付なさってはいかが?
お礼
ありがとうございます。 >(それはもちろん、両者に明らかな違いが見当たらないからです。) ???? どうしてこういう反応が返ってくるのかサッパリ分かりません。 どうみても明らかに違っているのに。 そんなに私は失礼なこと言ってますでしょうか???? Aではビルなどの直線が曲線に変化しているのに、 Bでは直線を保っているということです。 質問に画像添付しました。よろしくお願いします。
- ueshita123
- ベストアンサー率17% (281/1643)
どちらも同じですよ。 拡大率を同じにして見てごらん (^_^;
お礼
同じ???? 言わんとしていることが分かりません。
お礼
もうひとつ初期位置そのままでズームアウト状態をキャプチャしました。 mapping_tokyo_1a.jpg mapping_london_1a.jpg https://drive.google.com/folderview?id=0B9oHeMEsG1xmcEpBaEc4bmFqMzA&usp=sharing 最大画角は、 東京は360度未満。 ロンドンは180度未満。 ということがよく分かりました。 フォローありがとうございます。