POV-Ray:13-6
13.1-21 波紋(ripples)

ripplesは水の波紋のような表面を作るパターンである。 波紋は<0,0,0>〜<1,1,1>の立方体の範囲内でランダムに10箇所で発生する。

このパターンでは、いくつかのパターン修正オプションは特殊な働きをする。 scale, frequency, phase は次のような効果を持つ。

・scale :波紋の中心の間隔を制御する。
・frequency :波紋の波の間隔を制御する。
・phase :アニメーションにおいて波紋を外側に向かって動かす。

また、global_settings { number_of_waves FLOAT } を使って発生する波紋の中心の数を変えることができる。 これはシーン全体に影響するため、パターンごとに波紋の中心の数を変えることはできない。 ⇒「4.8 波紋の数」

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-21 波紋(ripples)


●図13.1-21に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     ripples

     color_map{[0.0 color rgb<0.4,0.5,1>][0.6 color rgb<0.7,0.8,1>*1.2]}

     scale 0.1

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     ripples 0.4

     scale 0.1

   }

   finish{phong 0.8 phong_size 200}

 }

< ripples >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 △ スロープ・マップ 
 △ ノーマル・マップ 
 ramp_wave(△変更可) 
(△:ノーマルとして使用する場合、ripples は表面の法線の修正に専用の関数を使用するため、ノーマル・マップ、スロープ・マップ、波形タイプ修正で使用できないとあるが、使用してもエラーはでない。)


13.1-22 球(spherical)

放射状に広がる球の層を発生させる。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-22 球(spherical)


●図13.1-22に使用したテクスチャ定義



#declare T1=

   texture{  spherical

          texture_map{

               [ 0 pigment{ color Yellow} ]

               [ 0.25 pigment{ color Brown} ]

               [ 0.5 pigment{ color White} ]

               [ 0.75 pigment{ color Red} ]    

               [ 1 pigment{ color Blue} ]

             } 

      }

 



#declare T2=

   texture{

     pigment{White}

      normal{ spherical 

              frequency 8

                scale 0.9

       }

       finish{phong 0.8 phong_size 20}

     }



・ 数値は1.0 に近いほど中心に近く、小さくなるほど広がっていく。このsphericalの概要は、「13.1-9 円柱」とほぼ同じ。

< spherical >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可) 


13.1-23 螺旋1(spiral1)

spiral1 は y 軸まわりで螺旋を描くパターンである。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-23 螺旋1(spiral1)


●図13.1-23に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     spiral1 5

     color_map{[0.0 color rgb<1,0,0>][0.6 White]}

     scale 0.24

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     spiral1 5, 0.6

     scale 0.24

   }

   finish{phong 0.8 phong_size 200}

 }

< spiral1 の構文>


 pigment {

   spiral1 NUMBER_OF_ARMS

 }

pigment ピグメントを指定するキーワード
spiral1 螺旋1のパターンを指定するキーワード
NUMBER_OF_ARMS 螺旋の腕の数

< spiral1 >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 triangle_wave(変更可) 


13.1-24 螺旋2(spiral2)

spiral2はspiral1に特殊な効果を加えたものである。 使用法はspiral1と同じである。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-24 螺旋2(spiral2)


●図13.1-24に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     spiral2 5 color_map{[0.0 color rgb<0.2,0.6,1>][0.6 White]}

     scale 0.24

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     spiral2 5, 0.6

     scale 0.24

   }

   finish{phong 0.8 phong_size 200}

 }

< spiral2 >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 triangle_wave(変更可) 


13.1-25 斑点(spotted)

spotted は bozo と全く同じパターンを作る。⇒「13.1-4 bozo」

初期バージョンのPOV-Rayではspotted(斑点)はturbulenceを追加できなかったため、bozoとは区別されていた。 現在ではどちらもturbulenceを追加できるのでbozoとspottedは全く同じであるが、旧バージョンとの適合性のためにどちらも使用できる。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-25 斑点(spotted)


●図13.1-25に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     spotted color_map{[0.0 color rgb<0.7,0,1>][0.6 White]}

     scale 0.24

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     spotted 1

     scale 0.24

   }

   finish{phong 0.8 phong_size 200}

 }

< spotted >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可) 


13.1-26 波(waves)

wavesはripplesと同様の波のパターンであるが、wavesの波はripllesのものよりも丸くて幅が広いため、より深い海の波のように見える。

このパターンでは、いくつかのパターン修正は特殊な働きをする。 scale, frequency, phase は次のような効果を持つ。

・scale :波紋の中心の間隔を制御する。
・frequency :波紋の波の間隔を制御する。
・phase :アニメーションにおいて波紋を外側に向かって動かす。

また、global_settings { number_of_waves FLOAT } を使って発生する波紋の中心の数を変えることができる。 これはシーン全体に影響するため、パターンごとに波紋の中心の数を変えることはできない。 ⇒「4.8 波紋の数」

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-26 波(waves)


●図13.1-26に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     waves

     color_map{[0.0  color rgb<0.4,0.8,1>][0.6  color rgb<0.4,0.8,1>*0.6]

     }

     scale 0.1

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     waves 0.4

     scale 0.1

   }

   finish{phong 0.8 phong_size 200}

 }

< waves >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 △ スロープ・マップ 
 △ ノーマル・マップ 
 ramp_wave(△変更可) 
(△:ノーマルとして使用する場合、waves は表面の法線の修正に専用の関数を使用するため、ノーマル・マップ、スロープ・マップ、波形タイプ修正で使用できないとあるが、使用してもエラーはでない。)


13.1-27 年輪(wood)

woodはz軸を中心とする同心円の縞模様である。 turbulenceを少し加えて適切に色づけすれば、このパターンは本物の木目のように見える。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-27 年輪(wood)


●図13.1-27に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     wood color_map{[0.0 color rgb<1,0.5,0.1>][0.6 color rgb<1,0.9,0.5>]}

     scale 0.24

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     wood 0.6

     scale 0.24

   }

   finish{phong 0.8 phong_size 200}

 }

< wood >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 triangle_wave(変更可) 


13.1-28 しわ(wrinkles)

wrinklesは、しわになったセロハンやアルミ箔のような表面を作るパターンである。 このパターンを使って優れた漆喰のテクスチャを作ることもできる。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-28 しわ(wrinkles)


●図13.1-28に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     wrinkles color_map{[0.0 color rgb<1,0.5,0.2>][0.6 White]}

     scale 0.24

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     wrinkles 1

     scale 0.24

   }

   finish{phong 0.8 phong_size 200}

 }

< wrinkles >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 △ スロープ・マップ 
 △ ノーマル・マップ 
 ramp_wave(△変更可) 
(△:ノーマルとして使用する場合、wrinkles は表面の法線の修正に専用の関数を使用するため、ノーマル・マップ、スロープ・マップ、波形タイプ修正で使用できないとあるが、使用してもエラーはでない。)


13.1-29 ます目(cells)

cellsは、単位立方体を用いてます目のような模様がある表面を作るパターンである。ノーマルでの使用にはあまり向いていない。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-29 ます目(cells)


●図13.1-29に使用したテクスチャ定義



#declare T1=

 texture{

   pigment{

     cells color_map{[0.0 color rgb<0.8,0.3,0.1>][0.7 color White]}

     scale 0.4

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     cells 0.6

     scale 0.4

   }

   finish{phong 0.8 phong_size 200}

 }

< cells >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可) 


13.1-30 小面(facets)

facetsは、カットされ磨かれた宝石にある小さい面で構成された表面を作るパターンである。球のような曲面向きのものと、平面向きのタイプがある。facetsはノーマル専用であり他には使用できない。

(上段)ノーマル・(coords)で使用した場合
(下段)ノーマル・(size)で使用した場合

図13.1-30 小面(facets)


●図13.1-30に使用したテクスチャ定義



#declare T1=

 texture{



   pigment{White}

   normal{

     facets

     coords 0.7

     scale 1.5 

 }

 finish{phong 0.8 phong_size 200}

}



#declare T2=

 texture{

   pigment{White}

   normal{

     facets

     size 0.3

 }

 finish{phong 0.8 phong_size 200}

}

< facets の構文>


 normal {

    facets [ coords SCALE_VALUE | size FACTOR ]

 }

normal ノーマルを指定するキーワード
coords SCALE_VALUE 平面でfacetsを使用するときに指定
size FACTOR 曲面でfacetsを使用するときに指定

< facets >
 利用可能なマッピング   デフォルトの波形タイプ 
 × カラー・マップ 
 × ピグメント・マップ 
 × テクスチャ・マップ 
 ○ スロープ・マップ 
 × ノーマル・マップ 
    なし 
  (スロープ・マップは効果がなくエラーがでないだけである。)


13.1-31 ピグメントパターン(pigment_pattern)

ピグメントをパターンとして利用するものである。ピグメントパターンは、ピグメントをグレースケールに変換しパターンとして利用する。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-31 ピグメントパターン例


●図13.1-31に使用したテクスチャ定義



#declare T1=

 texture{

   pigment {

     pigment_pattern {

       checker White, Black

       scale 2

       turbulence .6  }

     pigment_map {

       [ 0, checker Red, Green scale .2 ]

       [ 1, checker Blue, Yellow scale .4 ]  }

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     pigment_pattern {

       checker White, Black

       scale 2

       turbulence .6  }  

     0.8      //Bump_Size

     normal_map {

       [ 0, checker scale .2 ]

       [ 1, checker scale .4 ]  }

    }

  finish{phong 0.8 phong_size 200}

 }

< pigment_pattern >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可) 


13.1-32 イメージパターン(image_pattern)

イメージパターンは画像をパターンとして利用するものである。画像はグレースケールに変換されで使用される。記述例にあるように、ファイルタイプと画像ファイル名を指定する。使用できるファイルタイプは、gif、tga、iff、ppm、pgm、png、jpeg、tiff、システム標準の9種類である。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-32a イメージパターン例

図13.1-32b 使用したイメージ aaa.png

●図13.1-32aに使用したテクスチャ定義



#declare T1=

texture {

   image_pattern { png "aaa.png"  } 

   texture_map {

     [0.2 pigment{Red} finish{phong 1}]

     [0.5 Gold_Texture]       

     [0.7 T_Wood13]      }  

   scale 0.8

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     image_pattern { png "aaa.png"  } 

     0.6   //Bump_Size

     scale 0.8   }  

  finish{phong 0.8 phong_size 200}

 }

< image_pattern >
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可) 


13.1-33 物体パターン

物体をパターンとして利用するものである。物体パターンは物体の内か外の2値になる。これはプロックパターンであるが、波形タイプ、カラーマップ、スロープマップは使用できない。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-33 物体パターン例


●図13.1-33に使用したテクスチャ定義



#declare T1=

texture {  

 pigment {

    object{ 

       sphere{0,1} scale <0.7,0.4,1.5>

       color Red 

       color White

     }

    turbulence 0.3

   }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

     object{ sphere{0,1} scale <0.7,0.4,1.5>  }

     turbulence 0.3

   }

  finish{phong 0.8 phong_size 200}

 }

<物体パターン>
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更不可) 
  (注:2つ指定するカラー部分にマップを指定する。)


13.1-34 関数パターン

関数をパターンとして利用するものである。POV-Rayで定義されている関数はすべて使用できる。

(上段)ピグメントで使用した場合
(下段)ノーマルで使用した場合

図13.1-34 関数パターン例


●図13.1-34に使用したテクスチャ定義



#declare Foo = function { x*x - y + z }

#declare T1=

 texture {

   pigment {

      function { Foo(x, y, z) }

        colour_map {

            [0.08 colour rgb<0, 1, 1> ]

            [0.10 colour rgb<0, 1, 1> ]

            [1.00 colour rgb<0, 0, 1> ]  }

        turbulence 0.3

    }

 }



#declare T2=

 texture{

   pigment{White}

   normal{

      function { Foo(x, y, z) } 

      0.8   //Bump_Size

      turbulence 0.3  }

  finish{phong 0.8 phong_size 200}

 }

●オプションのpatternを使用すると、関数としてパターンが使用できる。

例)

          #declare FOO = function {

             pattern {

                checker

              }

           }

<関数パターン>
 利用可能なマッピング   デフォルトの波形タイプ 
 ○ カラー・マップ 
 ○ ピグメント・マップ 
 ○ テクスチャ・マップ 
 ○ スロープ・マップ 
 ○ ノーマル・マップ 
 ramp_wave(変更可)