コンピューターの画面上に描画する際には、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グラフィックスである。
・投影法にはさまざまなものがあるが、一般的には遠近法を取り入れた透視図法が用いられる。