用語定義

オブジェクト

三次元空間中に配置された物体。 三次元座標で表現される点の集合と、 点を元に物体を可視化するルールからなる。

カメラ

三次元空間中に配置された視点の情報。

スクリーン

ワールド座標

環境毎にひとつだけ設けてある座標系。 オブジェクトやカメラの配置はこの座標で指定する。 初期配置では、Y 座標の正の方向が上。 Z 座標の正の方向が奥。

ローカル座標

オブジェクト毎に設定されている座標系。 物体の変形はこの座標で指定する。

カメラローカル座標

カメラの位置を原点とする三次元座標系。 ここでの三次元座標は、カメラからの相対位置。 X 座標の正の方向が右。 Y 座標の正の方向が上。 Z 座標の正の方向が奥。

スクリーン座標

視界の中心を原点とする二次元座標系。 X 座標の正の方向が右。 Y 座標の正の方向が上。

距離単位

上記の座標系では長さを表現する単位が必要である。 そのために距離単位というものを定義する。 距離単位はカメラからスクリーンまでの距離である。 カメラからスクリーンまでの距離は、 目からモニタまでの距離と関係がある。

画面

スクリーンに映った画像は画面に描画されてはじめて、見ることが出来る。 画面は縦横に並ぶドットの集合である。 ドットは(現状)白(空白)か黒(描画された)のいずれかの状態を取る。 画面は視界の中心に配置される。 画面のサイズは視界の広さを限定する。 つまりスクリーンに映ったもののうち、画面内のものだけが見える。

画面バッファ

プログラム中では画面はドット数分の要素からなる配列変数で表現される。 この配列変数を画面バッファと呼ぶ。 プログラムは画面バッファの内容をファイルに出力し、 別のプログラムがファイルの内容をモニタに出力する。

DPDU (dots per distance unit)

1 距離単位あたりドット数。 目からモニタまでの距離が、 モニタ上での 1 距離単位の長さと同じくらいになるように、 ドット数を調節すること。

定数

関数

screen_{x,y}

カメラローカル座標をスクリーン座標に変換する。 カメラローカル座標で表される点を見たときに、 視線がスクリーン平面と交わる点に変換される。