POV-Ray 入門その 6 - Sato lab

情報メディア導入ユニット(10 月 31 日分配付資料)
金曜日 3 限分
POV-Ray 入門その 6
情報メディア学科 佐藤尚
このドキュメントは、http://www.sato-lab.jp/ml2/06.pdfからダウンロードすることが出来ます。
1. この演習で体験すること
物体の表面の色や模様を様々に変化させる方法を学びます。また、今回は 3 次元文字についても扱
います。 今回の授業で扱う物体表面の模様を変化させる方法は、ソリッドテクスチャと呼ばれる
ものです。 ソリッドテクスチャは物体の切断面の周りでもきれいなテクスチャ付き画像を生成す
ることの出来る方法としてよく知られてはいるのですが、他の 3D-CG ソフトウェアではなかなか
実装されていない機能です。 説明の文章が多いかもしれませんが、がんばってください。また、
使い方の詳しい説明を省略している部分があるので、詳しく知りたい場合には、参考リンクの
「POV-Ray3.5 利用参考マニュアル」を見てください。
2. 今回使用する教材
教 科 書 (POV-Ray に よ る 3 次 元 CG 制 作 ) と 「 POV-Ray3.5 利 用 参 考 マ ニ ュ ア ル 」
(http://www.arch.oita-u.ac.jp/a-kse/povjp/povjp/pov35ref.html)。
3. 演習課題 5-1(オブジェクトに模様をつける)
i. 教科書 pp.84∼pp.91(6-1 オブジェクトに模様をつける)を読んでください。
ii. 次の問いに挑戦してください。下のシーンファイルに付け足し、下図のような表示が行える
ようにしなさい。 左側の物体は、立方体を削った形です。 右側の物体は球です。 レンダ
リング結果の画像をキャリアポートフォリオ上にアップロードして下さい。
1
シーンファイルの一部
目標画像
#include "colors.inc"
#include "shapes.inc"
camera{
location <15,30,45>
look_at <0,0,0>
angle 30
}
light_source{ <15,0,15> color White}
light_source{ <0,15,0> color White}
light_source{ <-8,15,0> color White}
light_source{ <-8,15,10> color White}
左側の物体
difference{
object{
Cube
}
object{
Cube
translate <1,1,1>
}
}
4. 演習課題 5-2(リアルな質感を表現する)
i. 教科書 pp.92∼pp.98(6-2 リアルな質感を表現する)を読んでください。
ii. 下のシーンファイルを変更して、次の 3 つのような画像を作って下さい。レンダリング結果
の画像をキャリアポートフォリオ上にアップロードして下さい。
基にするシーンファイル
作り出す画像
#include "colors.inc"
#include "shapes.inc"
#include "glass.inc" camera{
location <0,8,0>
look_at <0,0,0>
angle 30
}
light_source{ <-10,10,-10> color White}
light_source{ <10,10,-10> color White}
2
object {
Sphere
pigment{color Clear}
finish{ F_Glass1 }
interior {
I_Glass1 fade_color Col_Emerald_03
ior 1.33
}
}
object{
Plane_XZ
pigment{checker color Red,color Blue}
translate <0,-3,0>
}
iii. 次のシーンファイルに適当な命令を追加し、下図のような物体にハイライトをつけた画像を
作って下さい。レンダリング結果の画像をキャリアポートフォリオ上にアップロードして下
さい。
シーンファイル
目標画像
#include "colors.inc"
#include "shapes.inc"
#include "woods.inc"
camera{
location <0,10,10>
look_at <0,0,0>
angle 30
}
light_source{ <-10,10,-10> color White}
light_source{ <10,10,-10> color White}
light_source{ <0,10,0> color White}
union{
object{
Disk_X
pigment{color White}
scale <1,0.95,0.95>
translate <-1,0,0>
}
object{
Sphere
pigment{color White}
scale 0.95
3
translate <-2,0,0>
}
object{
Disk_X
pigment{color Blue}
translate <1,0,0>
}
object{
Sphere
pigment{color Blue}
translate <2,0,0>
}
}
object{
Plane_XZ
texture{
}
translate <0,-1,0>
}
4