2008後期
情報グラフィックス論U
担当 鳥海有紀
授業資料 情報グラフィックス論U
戻る(3次元グラフィック) 次へ(図形の変換)

簡単な3次元オブジェクト

まず、空間に半径1の球を描いていく。


#include "colors.inc"
#include "shapes.inc"

camera {
    location <3, 5, -10>
    look_at < 0, 0, 0>
    angle 15
}

light_source{ < -3, 10, -10> color White }

object {
    Sphere
    pigment { color Yellow }
}

#include "colors.inc" #include "shapes.inc" 色や図形の定義をするために必ず必要である。
camera カメラの定義をする。 カメラ位置(location)、 カメラのターゲット(look_at)、 視野角(angle)を3次元座標で指定する。
light_source 光源の座標と色を定義する。
object シーンに配置するオブジェクトを定義します。ここでは球を指定している。
pigment オブジェクト色やパターンを指定する。

3次元座標
2次元グラフィックの場合と同様に明示的に位置を指定するために、必ず座標が必要である。 3次元グラフィックの場合はx座標、y座標、z座標を使う。zは奥行きである。

色の指定
色は色名でもRGBで値を指定することもできる。 使用できる色名はHelpのcolor.incの項目(7.3.1 Predifined colors)にある。 RGBで指定する場合はrgb <1.0, 1.0, 0.0>のように書く。 3つの数字は赤(R)緑(G)青(B)の値である。 POV-Rayでは0から255の値を0から1.0に正規化した値を使用する。

トップへ


他のオブジェクト

sphere以外にも種々のオブジェクトを定義することができる。 以下に主要なものを上げる。

Disk_Y半径1の円柱をY軸上に描く
Cone_Y底面が半径1の円の円錐をY軸上に描く
Cube <1, 1, 1>から<-1, -1, -1>の立方体を描く

トップへ


より複雑なオブジェクト

POV-Rayでは、上記のオブジェクト以外にも様々なオブジェクトがある。 詳細はPOV-RayのHelpを参照してほしい。 ここではその一部を紹介する。

トーラス
トーラスはドーナツ型の図形。

object {
    torus {1, 0.4}
    pigment { color Yellow }
}

この図形をカメラ位置<0, 5, -10>と前出のライトの設定で表示される画像は右のようになる。 1は、ドーナツの中心から外周の中心まで、0.4は外周の半径である。

メタボール
2つ以上の球体がつながったように表現する手法である。 回転体は断面の右側(あるいは左側)の形状を座標を指定して定義する。
object {
  blob {
    sphere {<-1 0 0> 1.5 1}
    sphere {< 1 0 0> 1.5 1}
    threshold 0.5
  }
  pigment { color Yellow }
}

メタボールの定義はblobで行なう。 メタボールでは2つの球体を定義する。 ここでは<-1 0 0>と< 1 0 0>に半径1.5の球体を置き、この2つの球体をつなげている。 thresholdの値を変更すると球体のつながりかたが変わる。 カメラの位置<0, 5, -15>で表示すると右の図になる。 メタボールの詳細はPOV-RayのHelpのblobを参照のこと。

回転体
ワイングラス、花瓶などは立体のどの断面を見ても左右対称である。 このような立体は回転体を使って作ることができる。 回転体は断面の右側(あるいは左側)の形状を座標を指定して定義する。
sor {
    8,             //  形状を定義する座標点の数
    <0.0,  -0.5>,  //  
    <3.0,   0.0>,  //  形状の定義
    <1.0,   0.2>,  //  < x, y >で定義する
    <0.5,   0.4>,  //
    <0.5,   4.0>,  //
    <1.0,   5.0>,  //
    <3.0,  10.0>,  //
    <4.0,  11.0>   //
    pigment { color Yellow }
  }

適当なカメラの位置で表示するとカクテルグラスが表示される。 図の表示をするためにカメラ位置は<0, 20, -60>、カメラターゲットは< 0, 5, 0>。 詳細はPOV-RayのHelpのSurface of Revolutionを参照のこと。

基本図形の詳細な設定
sphereDisk_YCone_YCubeは、 簡単にオブジェクトの定義ができるようにしたマクロである。 それぞれのspherecylinderconebox を使うと位置、大きさなど様々な設定ができる。 詳細はPOV-RayのHelpの各項目を参照のこと。


授業資料 情報グラフィックス論U 戻る(3次元グラフィック) 次へ(図形の変換)

Copyright 2002-2008 Yuki Toriumi