おもこん

おもこんは「思いつくままにコンピュターの話し」の省略形です

3次元を2次元に変換して表示するプログラムを作成

t2tというアプリケーションをGithubにアップロードしました。

t2tは「Three dimension To Two dimension」を短くしたものです。すなわち、3次元の座標系から2次元の座標系への変換をするアプリケーションです。

例えば地上にある立方体は、空間座標でその各頂点を表すことができます。その物体をドローンから撮影すると物体は2次元のスクリーン上に写されます。元々の3次元の座標をスクリーン上の2次元の座標に変換しているわけです。この計算をするのがt2tです。次のスクリーンショットはt2tの画面です。地上にある立方体をドローンから撮影した画像を示しています。

f:id:ToshioCP:20220206114619p:plain

t2tでは座標変換を使っています。その原理は直交変換を含むアフィン変換と、3次元を2次元に写す相似写像です。詳しいことは省略しますが、「座標変換」などのワードでググるとネット上の情報が得られるでしょう。

t2tではプログラムする必要があります。プログラムは非常に簡単なコマンドをいくつか並べたものです。その詳細はドキュメントで解説されています。 なお、githubのt2tのトップページでは英語の説明が現れますが、日本語の説明が、readme.jp.mdとdoc.jp.mdにあります。上の図の左側のウィンドウに書かれている暗号のような文字列がプログラムです。そして、そのプログラムを実行した結果が右側のウィンドウに表示された図形です。

t2tを使ってみると描かれた図形が歪んで見えることがあります。それは視点(ドローン)と物体の各点を結んでいる直線が平行ではないためです。その直線を平行に近づけるためには視点を遠ざけることが必要です。そこで視点をなるべく遠くにするのですが、今度は物体の像が小さくなってしまいます。そこで適当にスクリーンの画像を大きくすることが必要になってきます。

もう一つの物体を本物らしく見せるための方法は、なるべく多くの物体を配置することです。例えば次の図形は道路に直方体の建物がいくつか並んでいる様子を簡易的に表したものです。 一つ一つの直方体は歪んで見えますが全体としてはそれらしく見えるようになります。

f:id:ToshioCP:20220206114702p:plain