Chapter4. 拡張関数


4.6 3Dグラフィックス関数

関数名
G3@CAMERASETLOOK
機能
カメラ(視点)の見る座標を設定する。
書式
G3@CAMERASETLOOK( x , y , z )
《パラメーター》
x float。カメラ(視点)が見る位置の X 座標を指定する(初期値は0)
y float。カメラ(視点)が見る位置の Y 座標を指定する(初期値は0)
z float。カメラ(視点)が見る位置の Z 座標を指定する(初期値は-4.0)
解説
LGPの 3D 描画は、指定した視点から見える 3D空間を描画している。この視点とはユーザーが画面から見える視点を示し、LGPではこの視点のことをカメラと呼ぶ。これは映画の撮影でカメラに映し出された風景がユーザーの見える映像となる事と同じ意味合いである。
カメラ(視点)の操作で指定するパラメータは「カメラの位置」「カメラの見る位置」「カメラの上底の向き」の3つであり、それぞれの指定は個別の関数で行う。
「カメラの位置」はカメラを配置する3D空間上の座標である。これはG3@CAMERASETEYE関数で指定する。「カメラの見る位置」はカメラの配置位置からカメラが注視する3D空間上の座標である。これはG3@CAMERASETLOOK関数で指定する。カメラの見る位置とカメラの見る位置が決まれば望みの視点を指定できる。あとはカメラの傾きを指定すれば大体のことはできる。「カメラの上底の向き」はカメラの上底(カメラの上の部分)が向く座標をである。これはG3@CAMERASETUP関数で指定する。
LGPの3D空間は、視点を基準にして前後をZ軸、左右をX軸、上下をY軸としている。初期値は、
G3@CAMERASETEYE( 0.0 , 0.0 , -4.0 )
G3@CAMERASETLOOK( 0.0 , 0.0 , 0.0 )
G3@CAMERASETUP( 0.0 , 1.0 , 0.0 )
である。これは3D空間の中心(X,Y,Z=0,0,0)から少し手前からまっすぐに奥に向かってみている指定である。また、カメラの上底が真上を向いているので傾きのない画像となる
用例
カメラを3D空間の中心より奥に配置し、まっすぐ手前(中心)方向を見上げるようにする。また、画像は右に90度傾かせる。
G3@CAMERASETEYE( 0.0 , 0.0 , 2.0 )
G3@CAMERASETLOOK( 0.0 , 1.0 , 0.0 )
G3@CAMERASETUP( -1.0 , 0.0 , 0.0 )