POV-Ray 入門その 4

情報メディア導入ユニット(10 月 17 日分配付資料)
金曜日 3 限分
POV-Ray 入門その 4
情報メディア学科 佐藤尚
このドキュメントは、http://www.sato-lab.jp/ml2/04.pdfからダウンロードすることが出来ます。
1. この演習で体験すること
単純な 3 次元形状を組み合わせて(CSG 演算)より複雑な図形を作り出す方法を学びます。さらに、
平面や自分で作った図形に名前をつける方法を学びます。
2. 今回使用する教材
教科書(POV-Ray による 3 次元 CG 制作)。
3. 演習課題 4-1(和集合,union)
i. 教科書 pp.72∼pp.75(5-1-1 と 5-1-2)を読んでください。この部分では、複数の物体を一つの
物体にする union 命令について、解説をしています。
ii. 教科書 pp.81 の練習問題 5-1 に挑戦してください。レンダリング結果の画像をキャリアポー
トフォリオ上にアップロードして下さい。
4. 演習課題 4-2(積集合,intersection)
i. 教科書 pp.75∼pp.76(5-1-3)を読んでください。この部分では、複数の物体の共通部分を取り
出す intersection 命令について、解説をしています。
ii. 教科書 pp.81 の練習問題 5-2 に挑戦してください。レンダリング結果の画像をキャリアポー
トフォリオ上にアップロードして下さい。
5. 演習課題 4-3(差集合、difference)
i. 教 科 書 pp.77∼ pp.78(5-1-4)を 読 ん で く だ さ い 。 こ の 部 分 で は 、 物 体 の 一 部 を 削 り 取 る
difference 命令について、解説をしています。
ii. 教科書 pp.82 の練習問題 5-3 に挑戦してください。レンダリング結果の画像をキャリアポー
トフォリオ上にアップロードして下さい。
6. 演習課題 4-4(複数の CSG 命令)
i. 教科書 pp.79 のシーンファイル 5.5 は少し一般的ではない書き方がされています。それを修
1
正したものを以下に示します。なお、シーンファイル 5.5 の先頭から、光源の設定を行って
いる light_source の部分までには、修正点はありません。
ii. 教科書 pp.79∼pp.80(5-2-1)を読んで、教科書 pp.82 の練習問題 5-4 に挑戦してください。
レンダリング結果の画像をキャリアポートフォリオ上にアップロードして下さい。
union{ //全体を1つにまとめるた=union1
difference{ //胴体部分=difference1
object{
Disk_Y
scale <1,0.9,1>
pigment{color Cyan}
}
object{
Disk_Y
scale <0.9,0.91,0.9>
translate <0,0.15,0>
pigment{color Yellow}
}
} //difference1はここまで
difference{ //取っ手部分=difference2
object{
Disk_X
scale <0.5,0.2,0.2>
}
object{
Disk_X
scale <0.6,0.18,0.18>
}
translate <-1.2,0.4,0> // 一度の移動ができる(取っ手部分全体)
pigment{color Green} // 一度の色の指定ができる(取っ手部分全体)
} //difference2はここまで
rotate <0,-80,0> //急須全体に対するrotate
} //union1 はここまで
7. 平面
POV-Ray では、無限に大きな平面を作り出すことが出来ます。この無限に大きな平面を利用する
と地面のような形を作り出すことが出来ます。無限に大きな平面を作り出すためには、Plane 系命
令を利用します。Plane 系命令は次のような形で利用します。 Plane 系命令を利用する場合には、
シーンファイルの先頭に#include "shapes.inc"を書くのを忘れないようにしてください。
Plane命令の書式
命令の意味
object{
Plane_XY
[移動などの命令]
XY 平面(Z 軸に垂直な平面)を作り出す
[色などの設定]
}
2
object{
Plane_XZ
[移動などの命令]
XZ 面(Y 軸に垂直な平面)を作り出す
[色などの設定]
}
object{
Plane_YZ
[移動などの命令]
YZ 平面(X 軸に垂直な平面)を作り出す
[色などの設定]
}
#include "colors.inc"
#include "shapes.inc"
#include "skies.inc"
camera{
location <0,3,-10>
look_at <0,3,0>
angle 30
}
light_source{<0,5,-10> color White}
light_source{<0,5,10> color White}
light_source{<0,5,30> color White}
light_source{<0,5,50> color White}
object{
Plane_XZ
pigment{color DarkGreen}
} sky_sphere{ S_Cloud5 }
8. 演習課題 4-5
i. 練習問題 5-3 で作成した物体と適当な位置に表示した XY 平面と同時に表示して下さい。
また、背景も空などに設定して下さい。レンダリング結果の画像をキャリアポートフォリオ
上にアップロードして下さい。
3