●ハイト・フィールドの例(図11.1-17a) height_field{tga "hf_image_0.tga" smooth rotate x*90 pigment{color rgb<0.4,0.8,0.2>} finish{phong 1 reflection 0.1} translate <-0.5,0.5,0> scale<2,2,0.5> } |
height_field { FILE_TYPE "FILE_NAME" [ smooth ] [ hierarchy on|off] [ water_level FLOAT ] [ OBJECT_MODIFIERS... ] } |
||
height_field | ハイト・フィールドを指定するキーワード | |
FILE_TYPE | 画像のファイル形式を次の中から指定する。 gif、tga、pot、png、pgm、ppm、jpeg、tiff、SYS ※SYSは使用するプラットフォーム固有の形式 |
|
FILE_NAME | 画像のファイル名の指定、カレント・ディレクトリとLibrary_pathを指定したディレクトリ以外の場所にあるファイルは、次のようにフルパスで指定しなければならない。例)DドライブのpovfileディレクトリにあるImage.gifファイルを指定する場合 height_field { gif " d:\povfile\Image.gif " |
|
smooth | 3角形で構成されいる表面を滑らかにする指定 | |
hierarchy on|off | 階層バウンディングのスイッチ [ディフォルト:on] | |
water_level FLOAT | 指定した高さ以下の部分をカットする。[ディフォルト:0 ] | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
gif | 256色(8ビット)のファイル形式であり、高さデータとしてカラー・パレットを使用する。 パレット・インデックス0が高さ0になり、255が高さ1になる。 |
tga | 赤と緑のプレーンが高さ変換に使用される。赤が上位バイトで緑が下位バイトとなり、65536段階(16ビット)の高さに変換される。 |
pot | 16ビット(65536色)のパレットを持っており、65536段階の高さに変換される。 |
png | グレースケール16ビット(65536色)形式のPGN画像が変換に使用される。 |
pgm | pnm形式のグレースケール画像ファイルで、65536段階(16ビット)の高さに変換される。 |
ppm | pnm形式のカラー画像ファイルで、65536段階(16ビット)の高さに変換される。tgaファイルと同様な変換をする。 |
jpeg | デジカメなどでよく使用されている圧縮カラー画像ファイルで、圧縮率が高いと画像が劣化する。 |
tiff | さまざまなオプションのある画像フォーマットである。 |
SYS | Windowsのbmp、Macintoshのpictなど、プラットフォーム標準の形式。 |
●ブロブの例(図11.1-18a) blob{ threshold 0.27 sphere{<-1,0,3>,1.5,0.5} sphere{<1,0,3>,1.5,0.5} cylinder{-x*2,x*2,1.5,0.5 translate z*1} pigment{color rgb<1,0.8,0.3>*1.5} finish{phong 1 reflection 0.1} scale 0.5 } |
blob { threshold FLOAT cylinder { CYLINDER_ITEM, STRENGTH } sphere { SPHERE_ITEM, STRENGTH } [ hierarchy on|off ] [ sturm ] [ OBJECT_MODIFIERS... ] } |
||
blob | ブロブを指定するキーワード | |
threshold FLOAT | 全体の境界値(0以上の値) [デフォルト:1 ] | |
cylinder | 円柱を指定するキーワード | |
CYLINDER_ITEM | 円柱の形状とテクスチャの指定、通常の円柱と同じように指定する。 ⇒「11.1-3 円柱」 | |
sphere | 球を指定するキーワード | |
SPHERE_ITEM | 球の形状とテクスチャの指定、通常の球と同じように指定する。scaleを使用すれば楕円球などになる。⇒「11.1-2 球」 | |
STRENGTH | 物体の中心における強さを実数値で指定 | |
hierarchy on|off | 階層バウンディングのスイッチ [デフォルト:on] | |
sturm | 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●フラクタルの例(図11.1-19) julia_fractal {<0.3,0.5,0.0,0.3> quaternion pigment{color rgb<1,0.6,0>*1.5} finish{phong 1} rotate <0,-90,180> translate z*1 } |
julia_fractal { 4DJULIA_PARAMETER [ quaternion | hypercomplex ] [ sqr | cube | exp | reciprocal | sin | asin | sinh | asinh | cos | acos | cosh | acosh | tan | atan | tanh | atanh | ln | log | pwr(X,Y) ] [ max_iteration MAX_ITERATION ] [ precision PRECISION ] [ slice 4DNORMAL, DISTANCE ] } |
||
julia_fractal | フラクタルを指定するキーワード | |
4D JULIA_PARAMETER | ジュリア集合の4次元パラメータ [デフォルト:<1,0,0,0> ] | |
quaternion、hypercomplex | フラクタルの計算に使用する方程式の指定。[デフォルト:quaternion ] | |
sqr、 ... 、pwr(X,Y) | 関数の指定 [デフォルト: sqr ] | |
max_iteration MAX_ITERATION | [デフォルト:20 ] | |
precision PRECISION | [デフォルト:20 ] | |
slice 4DNORMAL, DISTANCE | [デフォルト:<0,0,0,1>,0 ] |
●3次元テキストの例(図11.1-20a) text{ttf "c:\WINDOWS\FONTS\Arial.ttf","POV-Ray",1,x*-0.03 pigment{color rgb<1,0.6,0.6>*2} finish{phong 1 reflection 0.2} rotate x*90 translate <-2,1,2> } text{ttf "c:\WINDOWS\FONTS\Comicbd.ttf","POV-Ray",1,x*-0.03 pigment{color rgb<0.5,0.6,0.7>*2} finish{phong 1 reflection 0.2} rotate x*90 translate <-2,0,1> } text{ttf "c:\WINDOWS\FONTS\Jbce__i.ttf","POV-Ray",1,x*-0.03 pigment{checker color rgb<0.7,0.5,0.3>*3, color rgb<0.7,0.5,0.3>*2 scale 0.1} finish{phong 1 reflection 0.2} rotate x*90 translate <-1.9,-1,0> } |
text { ttf " FONTNAME.TTF " , " STRING_OF_TEXT " , THICKNESS_FLOAT , OFFSET_VECTOR [ OBJECT_MODIFIERS... ] } |
||
text | 3次元テキストを指定するキーワード | |
ttf " FONTNAME.TTF" | フォント・ファイル名(字体)の指定、ttf(True Type font)しか使用できない。 | |
" STRING_OF_TEXT " | 文字列表現(印刷可能な文字しか使用できない。)文字列表現についての詳細は「1.6 文字列表現」を参照 | |
THICKNESS_FLOAT | 3次元テキストの厚さの指定 | |
OFFSET_VECTOR | 文字のx, y方向の間隔の指定。 たとえば0.1*xと指定すると、文字のx 方向の間隔が 0.1 になる。 通常は0を指定する。 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●無限平面の例(図11.1-21) plane{z,0 pigment{ checker White*1.2, color rgb<0.5,0.9,0.9>*0.5 scale 0.2 } finish{phong 1 reflection 0.3} } |
plane { <NORMAL>, DISTANCE [ OBJECT_MODIFIERS... ] } |
||
plane | 無限平面を指定するキーワード | |
<NORMAL> | 面の法線ベクトル、平面の向きと、空間の内側、外側を決定する。 | |
DISTANCE | 法線ベクトル方向の原点と平面の距離 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●2次曲面の例(図11.1-22) // 上段 quadric{<0.5,1,1>,<0,0,0>,<0,0,0>,-1 transform U_1} quadric{<1,1,-1>,<0,0,0>,<0,0,0>,-1 clipped_by{Box} transform U_2} quadric{<-1,-1,1>,<0,0,0>,<0,0,0>,-1 clipped_by{Box} transform U_3} // 中段 quadric{<1,1,-1>,<0,0,0>,<0,0,0>,0 clipped_by{Box} transform M_1} quadric{<1,1,0>,<0,0,0>,<0,0,1>,0 clipped_by{Box_2} transform M_2} quadric{<1,-0.5,0>,<0,0,0>,<0,0,1>,0 clipped_by{Box} transform M_3} // 下段 quadric{<0.3,1,0>,<0,0,0>,<0,0,0>,-0.5 clipped_by{Box} transform L_1} quadric{<1,-1,0>,<0,0,0>,<0,0,0>,-1 clipped_by{Box} transform L_2} quadric{<0,0.5,0>,<0,0,0>,<1,0,0>,0 clipped_by{Box} transform L_3} |
quadric { <A,B,C>, <D,E,F>, <G,H,I>, J [ OBJECT_MODIFIERS... ] } |
||
quadric | 2次曲面を指定するキーワード | |
A〜 J | 下記の2次方程式の各項の係数 <2次曲面の方程式> Ax^2 + By^2 + Cz^2 + Dxy + Exz + Fyz + Gx + Hy + Iz + J = 0 |
|
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
cubic { <T1, T2,... T20> [ sturm ] [ OBJECT_MODIFIERS... ] } |
||
cubic | 3次曲面を指定するキーワード | |
<T1, T2, ..., T20> | 3次方程式の各項の係数。 | |
sturm | 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●4次曲面の例(図11.1-24) quartic{ <1,0,0,0,0,0,0, 0,1,0,0,0,0,0, 0,0,1,0,0,0,0, 0,0,0,1,0,0,0, 0,0,0,0,1,0,1> texture{Check} } |
quartic { <T1, T2,... T35> [ sturm ] [ OBJECT_MODIFIERS... ] } |
||
quartic | 4次曲面を指定するキーワード | |
<T1, T2,... T35> | 4次方程式の係数 | |
sturm | 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●高次曲面の例(図11.1-25) poly{ 5, <1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1> pigment{checker White*1.8, color rgb<1,1,0.3>*1.5} finish{phong 1 reflection 0.1} rotate y*-90 } |
poly { ORDER, <T1, T2, T3, .... Tm> [ sturm ] [ OBJECT_MODIFIERS... ] } |
||
poly | 高次曲面を指定するキーワード | |
ORDER | 曲面の方程式の次数(2〜7 の整数) | |
<T1, T2, ..., Tm> | 2〜7次方程式の各項の係数 ※ m = ((ORDER+1)*(ORDER+2)*(ORDER+3))/6 |
|
sturm | 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定 | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |
●ベジエ曲面の例(図11.1-26a) bicubic_patch{ type 1 flatness 0 u_steps 4 v_steps 4 <0,0,0>,<1,0,1>,<2,0,1>,<3,0,0> <0,1,1>,<1,1,1>,<2,1,1>,<3,1,1> <0,2,1>,<1,2,1>,<2,2,1>,<3,2,1> <0,3,0>,<1,3,1>,<2,3,1>,<3,3,2> pigment{checker White*1.2, color rgb<0.2,1,1> scale 0.5} finish{phong 1 reflection 0.2} translate <-1.5,-1.5,0> } |
bicubic_patch { type 0 | 1 flatness FLOAT u_steps INTEGE v_steps INTEGER <CP1>, <CP2>, <CP3>, <CP4>, <CP5>, <CP6>, <CP7>, <CP8>, <CP9>, <CP10>, <CP11>, <CP12>, <CP13>, <CP14>, <CP15>, <CP16> [ OBJECT_MODIFIERS... ] } |
||
bicubic_patch | ベジエ曲面を指定するキーワード | |
type 0 | 1 | ベジエ曲面のタイプの指定。 ●type 0:メモリ消費が少ないがレンダリングは遅い。 ●type 1:メモリ消費が多いがレンダリングは速い。 |
|
flatness FLOAT | 曲面の滑らかさを0〜1で指定する。 値を大きくすると曲率 の大きい部分ほど滑らかになり、そうでない部分は簡易的に描 かれる。 flatness 0で全体が平均的に滑らかになる。 ※ 値を大きくし過ぎると、曲面上に亀裂が生じる場合がある。 |
|
u_steps INTEGER | 曲面を縦方向に分割する3角形の数の最小値(通常 4 以下) | |
v_steps INTEGER | 曲面を横方向に分割する3角形の数の最小値(通常 4 以下) | |
<CP1> 〜 <CP16> | 曲面の制御点のx, y, z 座標(図11.1-26b参照) | |
OBJECT_MODIFIERS... | 物体の変形・テクスチャなどの指定 |