ジェネラティヴ・アート ガイロン

CG(コンピューターグラフィックス)の基礎 〜 3D編

投稿日:2019年5月28日 更新日:

コンピューターの画面上に描画する際には、X-Y軸上の点の座標を指定することで、点、線、四角形、円などが描かれる、ということを前回説明した。
直線、四角形は二つの点の位置で一意に決定する。ひとつの点につきX座標とY座標の2つの値が必要となるので、直線や四角形を描くには合計で4つの値が必要となる。

以上はコンピューターの画面上に2Dのグラフィックスを描く場合の話だった。
では、コンピューターに3Dのグラフィックスを描く場合はどうするのだろうか?

コンピューターの画面に3Dの映像を描くことは不可能である。

それはコンピューターのスクリーンがXとYという二つの軸しか持っていないので当然のことである。
では我々が普段、普通に観ている、いわゆる「3Dグラフィックス」というものは何なのか?

3Dグラフィックスとは、3次元空間にある物体を2次元のスクリーンに”投影”したものである。つまり3Dグラフィックスと言えども本当は2Dのもので、我々はそれを「3Dである」と幻想することで3Dグラフィックスが成立する。

、、、などと野暮なことをわざわざここに書いたのは、誰もがそのことを忘れているからそれを思い出させるため、ということよりも、ここで「3次元空間にある物体を2次元のスクリーンに”投影”する」ということが、3Dグラフィックスのポイントであるからである。
僕はそんなに野暮じゃない。

さて、その投影される対象の3次元空間には、2次元のときのX、Y軸にくわえて、Z軸という新たな軸が登場する。
軸が3つあるから3次元である。
コンピューターグラフィックの場合は、2次元のときのまま、X軸を水平方向、Y軸を垂直方向としたまま、その奥行きに向かう軸をZ軸として考える。

3D空間では、点を表すためにZ座標値も必要となるため、(x, y, z)という3つの値を持つことになる。

各点が値を3つ持つということ以外は2Dの描画と変わらず、直線を描くには2つの点が必要であり、つまり6つの値が必要になる。


2Dの平面にとっての四角形が2つの点で一意に決定できたことに似て、3Dの空間では2つの点を決めるだけで立方体を一意に決定することができる。言い換えれば、2つの点、すなわち6つの値を与えるだけで立方体を描くことができるのである。(各面がいずれもX、Y、Z軸に平行である場合)


ここで描かれた立方体は、対面する辺はいずれも平行に描かれている。
つまり3D空間上の物体がそのまま真っすぐに平行な線で変面に陰を落とし、その陰を描くことで立体を幻想させようとしている。
実際のコンピューターグラフィックでは、3D映像を描く際にはここに遠近法が用いられるので、遠くにあるものほど小さく描かれ、また平行なはずの線は遠くに行くほど近づいているように描かれる。

【今回のまとめ】
・コンピューターのスクリーンはX、Y軸があるだけの2次元なので、3次元を描くことは不可能である。
・ その2次元の画面に3次元空間の物体を描くのが3Dグラフィックスである。
・3次元空間上のある1点は、X、Y、Zの3つの値を持つ。
・2Dグラフィックスと同様、直線は二つの点で一意に決定する。
・立方体についても二つの点で一意に決定する。
・3次元空間に描かれた立体を2次元のスクリーンに投影するのが3Dグラフィックスである。
・投影法にはさまざまなものがあるが、一般的には遠近法を取り入れた透視図法が用いられる。

-ジェネラティヴ・アート ガイロン

執筆者:

関連記事

A Day In Asia 20190126

「ジェネラティヴ・アート」とは — あなたに新しい筆(あるいは風鈴)を与えよう

 だいたい何らかの新しいものごとを始めてみようと思って、初心者向けの本を開くと、「〇〇とは」という定義から入ることが多いが、たいていは読みとばすか、お堅い定義を読んでいるうちに眠くなってくるか、せっか …

A Day In Asia 20200324

CG(コンピューターグラフィックス)の基礎 〜 アニメーション編

 小学生のころ、退屈な授業中に教科書の端にパラパラ漫画を描いた覚えはないだろうか?少しずつ変化する絵を描く必要があるため、それほどリアルな絵を描くわけにもいかず、だいたいはハリガネ人間が動くものだった …

A Day In Asia 20190209

アルゴリズムとは何か?

 もともとはコンピュータ用語だったものが、最近ではその他の分野でも使われることが多い。例えば”インプット”。「この件に関しては部長にもインプットしておいてください」などと言う。 …

A Day In Asia 20190209

CG(コンピューターグラフィックス)の基礎 〜 2D編

あなたが普段なにげなく使っているPCでは、ウィンドウを開いたり閉じたり、お絵描きソフトで何かを描いてみたり、とにかく画面上には何らかの「描画」がされている。 これは広い意味での「CG(コンピューターグ …

A Day In Asia 20190129

プログラムとは何か?

 前回の記事(「ジェネラティヴ・アート」とは — あなたに新しい筆(あるいは風鈴)を与えよう)で私は、「自分の手を動かすことなく」、「プログラミングだけで絵を描いたり、たまには動画を創った …

teshnakamura

ジェネラティヴ・アーティスト。プログラミング歴40年以上。(ただし、プログラム業界で「プログラミング歴」は何の意味もない。)


以下でteshnakamuraの作品が見れます。
  • Instagram
  • @teshnakamura
  • Amazon Kindle