2021.01.22 の日記:空間を満たす話 続

昨日の続き.これの解説.

僕も空間を満たしたかったので,エッシャーを丸パクリした.

この前の日記で紹介した glut (OpenGL) を使ったプログラミング,つまり 3DCG で描いた(?).内部の処理としては仮想的な 3 次元空間に図形を配置して,それを 2 次元平面である仮想的な画面に投影するのだが,僕がやったのは図形の配置だけで後はパソコンが勝手に計算してくれる.エッシャーの作品としての一番の肝は投影のところなので,僕は実質何もやっていないに等しい.とはいえ,投影のためには視点や視野角,光源などの細かい設定をしなければならないので地味に大変だった.オリジナルと同じ構図にするために微妙なパラメーター調整を 1 時間くらいしていた気がする.それでもけっこうズレている.本当ならオリジナルの絵から視点とか計算したいけどその辺りの知識がゼロなので妥協してしまった.こういうのは風景画とか漫画描く人が詳しいのか?あと全く本質ではないが,光源の挙動がめちゃくちゃバグっててデバッグに[ピー]時間かかってしまった(恥ずかしいので具体的な数字は書けない.その時間を使って研究をしろ研究を!).

今回はマジで考えてもバグの原因がわからなくて,楽しいとは言えず,かなり辛かった.結局,たぶん原因が 2 つあることがわかり,1 つはポリゴンを構成する三角形がめちゃくちゃ細長くなってたことで,もう 1 つは図形の移動や回転の際の行列計算関係の何かっぽかった(こっちは根本的に何が悪いかは結局わからず力業で解決した).解決はしたが,デバッグでほぼ 1 日が終わったので「こんなことをしている場合ではない」という気持ちだった.

4 年前から成長していない.

まあ,なんやかんやで完成して,わりと満足の出来になったので嬉しい.

作ったあとで Web 検索したら同じことやってる人が山ほどいた.パクリの二番煎じをしてしまった.

今度時間があるときに obj ファイルにして VR で見ようかな.たぶん VR でやってる人はまだいない気がする.

===

お嬢ちゃんべっぴんさんだから背景が白いバージョンもおまけでつけちゃうよ!(伝統的な八百屋)

f:id:a15151595:20210118073358j:plain