第1日目(9月22日)
第1日目は、
POV−RAYの使い方を中心に解説する。
今日の予定:
POV-Rayとは
(On-Line Help の"What is POV-Ray"の訳を中心に)
POV-RAYとは,3次元空間中に,「対象物」,「光源」,「カメラ」ながどのように配置されているかを記述したファイルをーこれをシーンファイルというー作成し,それを読み込ませることにより,RayTraceing(レィトレーシング,日本語では,光線追跡法)と呼ばれる手法を用いて,配置したカメラで写した写真と同じ画像(イメージ)を作り出すシステムである.
まず,一例を示そう.左がシーンファイルであり,右はイメージである.
#include "colors.inc" #include "woods.inc" #include "stones.inc" camera { location <0, 3, -4> look_at <0, 1, -1> angle 70 } union{ box{ <-1, 0, -1>, < 1, 1, 1> texture{ T_Wood1 } } sphere{ < 0,1,0>,0.8 texture{ T_Stone7 }} rotate <-10,-30,0> } plane { <0,1,0>,-1 pigment{ color White } } light_source { <-1.5,3,-1.5> color Green} light_source { < 1.5,3,-1.5> color Blue} light_source { < 0, 3, 1> color Red} light_source { < 0,5, 0> color White} | ![]() |
シーンを記述したファイル | 生成されてイメージ |
シーンファイルの細かいことは,あとで説明する.「25行前後を書けば,かなりのイメージが生成できる」程度が分かればそれでよい.
以下はPOV-Rayの目玉である。
POV−RAYの起動と3Dイメージの生成
POV−RAYでの3次元CG画像生成法は,
の2段階で行われる.
これを,もう少し,詳細に説明する.
ともかく、POV-RAYを用いて、グラフィックスの生成を行ってみよう。
(1)POV-RAYの起動
POV-RAYの起動:「スタート」−>「POV-Ray for windows v3.5」−>「POV-Rayfor windows」で,POV−RAYが起動する.数秒間次のようなシーンが表示され,ついで,もっとも最近編集したシーンファイルが表示される.
最初一回のみ,ドキュメントに関するウィンドウが開くが,「OK]とする.また、いくつかのデモが設定されているので、「file」−>「close ALL」により、初期状態に戻す。
最初は,メッセージウインドウと言われる次のウインドウが表示される.
![]() | ![]() |
最初に現れる画面 | メッセージウインドウ |
ここでは,新たなシーンを記述することからはじめよう.
(2)シーン記述
そのために、「file」 -> 「New File 」を選択する.これで,あらたなシーンファイルの編集モードとなる.
![]() |
新たなシーン入力画面 |
まず,以下のシーンを記述しよう.大文字と小文字は区別されるので注意する必要がある.
#include "colors.inc" background { color Cyan } camera { location <-1, 3, -3> look_at <0, 0, 0> } sphere { <0, 0, 0>, 1 pigment { color Yellow } } light_source { <2, 4, -3> color White} |
シーン記述 |
ここで記述したシーンは,
「空間に,黄色の球と,白い光源と,そしてカメラ」
を設置し,カメラで撮影したイメージである.
入力が終わると,次に生成する画面の大きさを設定する.図のサイズ設定で,とりあえず,512x384にする.
画面の面積と生成時間はほぼ比例する.
![]() |
サイズ変更ウインドウ |
(3)イメージの生成(レィトレーシング)
次いで,Ray-Tracerを起動して,ray-traceによりイメージを生成してみる.POP−RAYでは,イメージを作成する度にシーン記述プログラムをディスクの格納する必要がある.
そこで,「File」 ー>「save as」 で,自分の領域にセーブする.ファイル名はなんでもよい.
注意:POVーRayは,「英語版」のみである.従って,途中のフォルダー名を含み,全て半角英数字を使うことを推奨する.
その後,”Run”をクリックするだけで,以下のようなウインドウが現れる.これが,生成イメージである!先に説明した通りのイメージが生成されている.明るい部分と暗い部分のあることに注意しよう!
![]() |
レンダリングウインドウの表示(生成イメージ) |
ここまでに「とりあえず」イメージを生成することができた.
また,イメージ生成と同時に,シーンファイルを格納したフォルダに,生成した画像がビットマップ(BMP)の形式で保存される.
POV−RAYでの記述法
前に段階で,ともかくシーンをすくることができた.
これからは,「自分のシーン」の作成である.
シーンを作成する上で重要なものが,座標である.
まず,POV-RAYでの座標表現を理解しよう.
では,先のシーンを例に,シーン記述の各々のステートメントごとに,各ステートメントの働きや記述法を説明する.
各ステートメントにその文の解説画面がリンクされている.この解説は、POV-RAYのHelpに、手を加えてものである。
各々を理解しよう.
#include "colors.inc" |
この例では,「球」を表示した.
POV-RAYでは,「目玉」の書いてあったとおり,球(sphere)以外に幾つかの「単純な形状」がある.
sphere, box, cylinder, coneそしてplaneである.
基本形状の記述は,
<形状名>{
<幾何情報>
<アフィン変換>
<属性情報>
}
となる.
*幾何情報:その形状決定に必要な数値や座標
*アフィン変換:上記で決定された形状に対する変換
平行移動,回転,拡大縮小があり,
translate < x, y, z> // 平行移動
rotate < x, y, z > // 各軸周りの回転
scale <x, y, z> // 各軸方向の拡大縮小
と記述する.
*属性情報:形状の表面または内部構造の属性を記述する
絵の具で一色に塗るー>pigment
絵の具でパターンを描くー>pigment
模様を貼り付ける ー> texture
課題演習
以下の順にシーンファイルを作成し、おのおのどのようなイメージが構成されるか確かめてみる。
課題ー1:基本形状の配置
次に示すシーンを構成することからはじめる.
シーン1:カメラを <0,5,-5>に設置し,<1,1,0>に向ける.
また,y=−1を通り,X-Z平面に平行な白黒チェック模様の平面を配置する.
さらに,<5,5,-5>に白色光源を配置する.
シーン2:シーン1に次の立体を加える.
原点を中心とした半径1の白球を追加する。
カメラから見て,手前下稜線の左側端点座標が<1,0,0>,右端点座標が<2,1,1>である青色の立方体
シーン3:シーン2に次を追加する.
その立方体の上面に,半径0.5長さ0.5の「材木」で出来た円筒を立てる.
課題
第1回目では、「指定された形状をきちんと作成する」ことを行う。
下の画像は、ピンポン玉を3つ配置しものをデジカメで撮影したものである。
これを、真上から見ると
となる。
上のイメージを生成するシーンファイル作成しなさい。
ただし、3つの球は、互いにぴったりくっ付いているとする。このことを、正確に反映させなさい。
ー>球の中心座標をもとめましょう!
6 応用課題
演習・宿題 課題
3球にぴったりとくっつくように白球を1つ配置すること。(応用課題とする)