11.1-8 三角形(triangle)

三角形をいくつも組み合わせることで、他のプリミティブではできない複雑な形状を作ることができる。 メッシュ(mesh)の要素としても使用できる。

図11.1-8 三角形

●三角形の例(図11.1-8)

triangle{<-1,-1,0>,<1,-1,0>,<0,1.23,0>
  pigment{checker White*1.2, 
            color rgb<1,0.2,0.2>*1.2 scale 0.5}
  finish{phong 1 reflection 0.2}
  rotate <30,30,0>
  translate z*1
}

●プリミティブのタイプ:有限パッチ
●クリッピング形状:×
●CSG:△(曲面の端部は×)

< triangle の構文>

 triangle {
   <CORNER1>, <CORNER2>, <CORNER3>
   [ OBJECT_MODIFIERS... ] 
 }
triangle 3角形を指定するキーワード
<CORNER1>
〜 <CORNER3>
3角形の各頂点のx, y, z座標
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定


11.1-9 スムーズ3角形(smooth_triangle)

スムーズ3角形は、3角形の各頂点の法線ベクトルを修正することで、3角形のつなぎ目を滑らかに見せるものである。

スムーズ3角形(左側)、3角形による物体(右側)

図11.1-9a スムーズ3角形

●スムーズ3角形と普通の3角形の例(図11.1-9a)

     union{
       smooth_triangle{ x, x, y, y, z, z}
       smooth_triangle{ y, y,-x,-x, z, z}
       smooth_triangle{-x,-x,-y,-y, z, z}
       smooth_triangle{-y,-y, x, x, z, z}
       rotate z*45  translate x*0.8
     }

     union{
       triangle{ x, y, z}
       triangle{ y,-x, z}
       triangle{-x,-y, z}
       triangle{-y, x, z}
       rotate z*45 translate -x*0.8  
     }

●プリミティブのタイプ:有限パッチ
●クリッピング形状:×
●CSG:△(曲面の端部は×)

< smooth_triangle の構文>

 smooth_triangle {
   <CORNER1>, <NORMAL1>,
   <CORNER2>, <NORMAL2>,
   <CORNER3>, <NORMAL3>
   [ OBJECT_MODIFIERS... ] 
 }
smooth_triangle スムーズ3角形を指定するキーワード
<CORNER1>〜<CORNER3> 3角形の各頂点のx, y, z座標
<NORMAL1>〜<NORMEL3> 各頂点における面の法線ベクトル
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定

※ 法線ベクトルの修正によってつなぎ目が滑らかに見えるのは見かけ上のものであって、 実際に平面が曲面になっているわけではない。

各頂点の法線ベクトルが、その頂点を共有するすべての3角形の法線ベクトルの平均になれば滑らかな表面が得られる。

図11.1-9b 頂点の法線ベクトル


11.1-10 多角形(polygon)

多角形は同一平面上で3個以上の頂点を指定して作る。 1つのステートメントの中で複数の多角形を作ることができる。 また、偶数個の図形が重なった部分は穴になる。

図11.1-10 多角形

●多角形の例(図11.1-10)

     polygon{
       4,
       <-0.5,-0.5>,<0.5,-0.5>,<0,1.23>,<-0.5,-0.5>
       pigment{color rgb<0.8,0.8,0.4>*2}
       rotate x*30
       translate <-2,0,1>
     }
     polygon{
       13,
       <-0.2,0.05>,<-0.05,0.05>,<-0.05,0.2>,<0.05,0.2>,
       <0.05,0.05>,<0.2,0.05>,<0.2,-0.05>,<0.05,-0.05>,
       <0.05,-0.2>,<-0.05,-0.2>,<-0.05,-0.05>,<-0.2,-0.05>,
       <-0.2,0.05>
       pigment{White*2}
       rotate x*30
       translate <-1,0,1>
     }

     polygon{
       4,
       <-0.5,0.5>,<0.5,0.5>,<0,-1.23>,<-0.5,0.5>
       pigment{color rgb<0.8,0.8,0.4>*2}
       rotate x*30
       translate z*1
     }

     polygon{
       10,
       <-0.2,0.15>,<0.2,0.15>,<0.2,0.05>,<-0.2,0.05>,<-0.2,0.15>,
       <-0.2,-0.15>,<0.2,-0.15>,<0.2,-0.05>,<-0.2,-0.05>,<-0.2,-0.15>
       pigment{White*2}
       rotate x*30
       translate <1,0,1>
     }

     polygon{
       8,
       <-0.5,-0.5>,<0.5,-0.5>,<0,1.23>,<-0.5,-0.5>,
       <-0.5,0.5>,<0.5,0.5>,<0,-1.23>,<-0.5,0.5>
       pigment{color rgb<0.8,0.8,0.4>*2}
       rotate x*30
       translate <2,0,1>
     }

●プリミティブのタイプ:有限パッチ
●クリッピング形状:×
●CSG:△(曲面の端部は×)

< polygon の構文>

 polygon {
   TOTAL_NUMBER_OF_POINTS,
   <A_1>, <A_2>, ..., <A_na>, <A_1>,
   <B_1>, <B_2>, ..., <B_nb>, <B_1>,
   <C_1>, <C_2>, ..., <C_nc>, <C_1>,
   ...
   [ OBJECT_MODIFIERS... ] 
 }
polygon 多角形を指定するキーワード
TOTAL_NUMBER_OF_POINTS 多角形を描く点の総数
<A_1>, ..., <A_na>, <A_1>,
<B_1>, ..., <B_nb>, <B_1>,
<C_1>, ..., <C_nc>, <C_1>,
...
多角形の各頂点のx, y, z 座標
<A_1>,...、<B_1>, ... 、<C_1>, ... はそれぞれ別の要素図形を描く。
各図形は最初と最後の点を一致させて閉じなければならない。各点は同一平面上に指定しなければならない。2次元ベクトルで指定した場合はx-y平面上に描かれる。偶数個の図形が重なった部分は穴になる。
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定


11.1-11 メッシュ(mesh)

メッシュは、たくさんの3角形を合わせて複雑な形状をつくるためのものである。メッシュで使用する3角形は個別にテクスチャを付けることができるので、面ごとに異なったテクスチャを持つ物体をつくることができる。 また、CSGにおけるunion(論理和)に比べてメモリの消費が少なく、多くの3角形を効率的に蓄積することができる。 モデリング・ソフトで作った複雑な曲面を表現するために使われることもある。

図11.1-11 メッシュ

●メッシュの例(図11.1-11)

     mesh{
       triangle{x,y,z texture{T_2}}
       triangle{y,-x,z texture{T_3}}
       triangle{-x,-y,z texture{T_1}}
       triangle{-y,x,z texture{T_4}}
       scale z*0.5
       rotate x*30
       translate z*0.5
     }

●プリミティブのタイプ:有限パッチ
●クリッピング形状:×
●CSG:△(面の端部は×)

< mesh の構文>

 mesh {
   triangle{ ITEM_V 
             [uv_vectors ITEM_UV]
             [texture { TEXTURE_IDENTIFIER } ] } |
   smooth_triangle{ ITEM_VN 
                    [uv_vectors ITEM_UV]
                    [texture { TEXTURE_IDENTIFIER } ] }
   [ inside_vector <direction> ]
   [ hierarchy on|off ]
   [ OBJECT_MODIFIER... ]
 }

ここで
 ITEM_V : <Corner_1>, <Corner_2>, <Corner_3>
 ITEM_UV : <uv_Corner_1>, <uv_Corner_2>, <uv_Corner_3>
 ITEM_VN: <Corner_1>, <Normal_1>, <Corner_2>, <Normal_2>, <Corner_3>, <Normal_3>
mesh メッシュを指定するキーワード
triangle 3角形の指定。 ⇒「11.1-8 3角形」
smooth_triangle スムーズ・トライアングルの指定 ⇒「11.1-9 スムーズ3角形」
uv_vectors UVマッピング用の2次元ベクトルの指定
texture テクスチャの指定
inside_vector CSG論理演算における内外判定用ベクトルの指定
hierarchy 階層バウンディングをon/offにするスイッチ、[ディフォルト:on ]
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定


11.1-12 メッシュ2(mesh2)

メッシュ2はメッシュと同様なものであるが、さらにPOV-Rayの内部表現に近いものである。メッシュより実行速度も速くサイズも小さいが、メッシュ2のデータ作成は手作業には向いていない。他のモデラーなどで作成したデータを変換し、メッシュ2で使用するようなことに向いている。

図11.1-12 メッシュ2

●メッシュ2の例(図11.1-12)

     mesh2 {
       vertex_vectors {
           9, 
           <0,0,0>, <0.5,-0.2,0>, <0.5,0.5,0.3>,
           <1,0,0>, <1.2,0.5,0>, <1,1,0>,
           <0.5,1.2,0>, <0,1,0>, <-0.2,0.5,0>
        }
       face_indices {
           8, 
           <0,1,2>, <1,3,2>,
           <3,4,2>, <4,5,2>,
           <5,6,2>, <6,7,2>,
           <7,8,2>, <8,0,2>
        }
       texture {T_Grnt23}
     }

●プリミティブのタイプ:有限パッチ
●クリッピング形状:×
●CSG:△(面の端部は×)

< mesh2 の構文>

 mesh2{
    vertex_vectors { ITEM_VERTEX }
    [ normal_vectors { ITEM_NORMAL_V } ]
    [ uv_vectors { ITEM_UV_V } ]
    [ texture_list { ITEM_TLIST } ]

    face_indices { ITEM_FACE }
    [ normal_indices { ITEM_NORMAL_I } ]
    [ uv_indices { ITEM_UV_I } ]

    [ inside_vector <direction> ]
    [ OBJECT_MODIFIERS... ]
 }

ここで
    ITEM_VERTEX:number_of_vertices, <vertex1>, <vertex2>, ... 
    ITEM_NORMAL_V:number_of_normals,  <normal1>, <normal2>, ... 
    TEM_UV_V:number_of_uv_vectors, <uv_vect1>, <uv_vect2>, ... 
    ITEM_TLIST:number_of_textures, texture { Texture1 }, texture { Texture2 }, ... }
    ITEM_FACE:number_of_faces, 
        <index_a, index_b, index_c> [,texture_index [, texture_index, texture_index]],
        <index_d, index_e, index_f> [,texture_index [, texture_index, texture_index]],
        ...
    ITEM_NORMAL_I:number_of_faces, <index_a, index_b, index_c>, 
                                                  <index_d, index_e, index_f>,  ... 
    ITEM_UV_I:number_of_faces, <index_a, index_b, index_c>,
                                                  <index_d, index_e, index_f>,  ... 
mesh メッシュ2を指定するキーワード
vertex_vectors 3角形の頂点となる各点の指定
normal_vectors 各点の法線ベクトルの指定
uv_vectors 各点のUVマッピング用の2次元ベクトルの指定
texture_list テクスチャリストの指定
face_indices 各点の番号で各3角形を指定
normal_indices 各点の番号でスムージングする各3角形を指定
uv_indices 各ベクトル番号で各3角形のUVマッピング用ベクトルの指定
inside_vector <direction> CSG論理演算における内外判定用ベクトルの指定
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定


11.1-13 簡易回転体(sor)

簡易回転体はx-y平面上の2次元曲線をy軸まわりで回転させた軌跡によって形成されるものである。 回転体(lathe)ほど複雑な形状は扱えないが、簡単な形状であればこちらのほうがレンダリングが速い。 もとになる曲線は3次スプラインで描かれる。

図11.1-13 簡易回転体

●簡易回転体の例(図11.1-13)

     sor{
       13,
       <0,0><0.5,0.01>,<0.5,0.1>,<0.4,0.11>,<0.4,0.2>,
       <0.3,0.21>,<0.3,1.89>,<0.4,1.9>,<0.4,1.99>,
       <0,2>,<0.3,2.2>,<0,2.4>,<0,2.5> sturm
       pigment{color rgb<1.0,0.8,0.3>}
       finish{phong 1 reflection 0.2}
       rotate x*90
     }

●プリミティブのタイプ:有限ソリッド
●クリッピング形状:○
●CSG:○

< sor の構文>

 sor {
   NUMBER_OF_POINTS,
   <POINT_0>, <POINT_1>, ..., <POINT_n-1>
   [ open ]
   [ sturm ]
   [ OBJECT_MODIFIERS... ] 
 }
sor 回転体を指定するキーワード
NUMBER_OF_POINTS 曲線を描く点の数を指定
<POINT_0>
〜 <POINT_n-1>
曲線を描く各点のx, y座標の指定をする。 x は回転の半径、y は高さとなる。元になる曲線は、3次スプラインで描かれる。 スプライン曲線については「11.1-14 回転体:スプライン曲線について」を参照。最初の点と最後の点は、曲線の始まりと終わりの傾きの制御点となる。ある高さに2つ以上の半径を指定することはできない。つまり、y座標の値は常に増加しなければならない。
open 回転体の両端面を取り除く指定、openを使用した回転体はCSGでは適切に描かれない場合がある。
sturm 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定


11.1-14 回転体(lathe)

回転体はx-y平面上の2次元曲線をy軸まわりで回転させた軌跡によって形成されるものである。 もとになる曲線には1次〜3次のスプライン曲線が使用できる。 これはいくつかの点をつないで曲線を作るものであり、各点の座標は(x, y)の2次元座標である。 2次と3次のスプラインでは曲線の傾きを制御できる。

左から 1次、2次、3次スプラインを使用したもの

図11.1-14a 回転体

●回転体の例(図11.1-14a)

     lathe{
       linear_spline
       10,
       <1,0>,<1,0.1>,<0.5,0.4>,<1,1.5>,<0.5,2>,
       <0.4,2>,<0.9,1.5>,<0.4,0.4>,<0.8,0>,<1,0>
       pigment{color rgb<1,0.8,0.3>}
       finish{phong 1 reflection 0.1}
       rotate x*90
       scale<0.5,0.5,1>
       translate x*-1.5
     }

     lathe{
       quadratic_spline
       11,
       <1,0>,<1,0.1>,<0.5,0.4>,<1,1.5>,<0.5,2>,
       <0.4,2>,<0.9,1.5>,<0.4,0.4>,<0.8,0>,<1,0>,<1,0.1>
       pigment{color rgb<0.8,1,0.3>}
       finish{phong 1 reflection 0.1}
       rotate x*90
       scale<0.5,0.5,1>
     }

     lathe{
       cubic_spline
       12,
       <1,0>,<1,0.1>,<0.5,0.4>,<1,1.5>,<0.5,2>,
       <0.4,2>,<0.9,1.5>,<0.4,0.4>,<0.8,0>,<1,0>,<1,0.1>,<0.5,0.4>
       pigment{color rgb<0.3,0.8,1>*1.5}
       finish{phong 1 reflection 0.1}
       rotate x*90
       scale<0.5,0.5,1>
       translate x*1.5
     }

●プリミティブのタイプ:有限ソリッド
●クリッピング形状:○
●CSG:○

< lathe の構文>

 lathe {
   [ linear_spline | quadratic_spline | cubic_spline | bezier_spline ]
   NUMBER_OF_POINTS,
   <P_1>, <P_2>, ..., <P_n>
   [ sturm ]
   [ OBJECT_MODIFIERS... ] 
 }
lathe 回転体を指定するキーワード
linear_spline 1次スプラインの指定、すべての点が直線で結ばれる。
quadratic_spline 2次スプラインの指定、曲線の始まりの傾きを制御できる。
cubic_spline 3次スプラインの指定、曲線の始まりと終わりの傾きを制御できる。
bezier_spline bezierスプラインの指定
NUMBER_OF_POINTS 曲線を形成する点の個数
<P_1> 〜 <P_n> 曲線を形成する各点のx, y座標
sturm 形状が正しく描かれない場合に、時間をかけて計算を正確にする指定(2次スプラインのみ)
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定

※ デフォルトではlinear_splineが使用される。

※ 曲線は自動的には閉じられない。

スプライン曲線について

●1次スプライン

1次スプラインは単に各点を直線でつなぐだけのものである。 平面をつくる場合は最初の点と最後の点を一致させなければならない。 つまり、

<P_n> = <P_1>

としなければならない。

図11.1-14b 1次スプライン

●2次スプライン

2次スプラインは曲線の始まりの傾きを制御できる。 例えば点P2から点P3までの曲線の始まりの傾きはP1,P2,P3の位置関係によって決まる。 ただし、曲線の終わりの部分の傾きは制御できないため、各点でのつなぎ目は滑らかにならない。 2次スプラインでは最初に指定した点は傾きの制御点となるため、平面をつくる場合は、次のようにすべきである。

<P_n-1> = <P_1>(曲線を閉じる)

<P_n> = <P_2>(滑らかにつなぐ)

図11.1-14c 2次スプライン

●3次スプライン

3次スプラインは曲線の始まりと終わりの傾きを制御できる。 ある点Pnにおける曲線の傾きはP(n-1)、Pn、P(n+1)の位置関係によって決まる。 2次スプラインと違って各点の両側の傾きが制御できるため、曲線は滑らかにつながれる。 3次スプラインでは最初と最後に指定した点は傾きの制御点となるため、平面をつくる場合は、次のようにすべきである。

<P_n-1> = <P_2>(曲線を閉じる)

<P_n> = <P_3>、
<P_n-2> = <P_1>(滑らかにつなぐ)

図11.1-14d 3次スプライン


11.1-15 角柱(prism)

角柱は2次元図形をy軸に沿ってスイープ(ここでは平行移動)させることによって形成される形状である。 もとになる図形は1次、2次、3次スプライン曲線が使用できるため、曲面の柱を作ることもできる。 またスイープのタイプも2種類あり、角錐や角錐台などを作ることもできる。

図11.1-15 角柱

●角柱の例(図11.1-15)

     prism{linear_sweep linear_spline 0,2,14,
       <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>, <1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>,<-1,-1>,
       <-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>,<-0.75,-0.3>
       translate <-2.5,-1,2>
    }

     prism{linear_sweep quadratic_spline 0,2,16,
        <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>,<1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>, <-1,-1>,
        <-0.5,-0.5>,<-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>,<-0.75,-0.3>,<0.75,-0.3>
        translate <0,-1,2>
     }

     prism{linear_sweep cubic_spline 0,2,18,
        <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>,<1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>,<-1,-1>,
        <-0.5,-0.5>,<0.5,-0.5>,<-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>,<-0.75,-0.3>,
        <0.75,-0.3>,<0.75,0.3>
        translate <2.5,-1,2>
     }

     prism{conic_sweep linear_spline 0.5,1,14,
       <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>,<1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>,<-1,-1>,
       <-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>,<-0.75,-0.3>
       rotate x*-90 rotate z*-15 translate <-2.3,-2,1>
     }

     prism{conic_sweep quadratic_spline 0.3,1,16,
       <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>,<1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>,<-1,-1>,
       <-0.5,-0.5>,<-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>,<-0.75,-0.3>,<0.75,-0.3>
       rotate x*-90 rotate z*-15 translate <0,-2,1>
     }

     prism{conic_sweep cubic_spline 0,1,18,
       <-1,-1>,<-0.5,-0.5>,<0.5,-0.5>,<1,-1>,<1,1>,<0.5,0.5>,<-0.5,0.5>,<-1,1>, <-1,-1>,
       <-0.5,-0.5>,<0.5,-0.5>,<-0.75,-0.3>,<0.75,-0.3>,<0.75,0.3>,<-0.75,0.3>, <-0.75,-0.3>,
       <0.75,-0.3>,<0.75,0.3>
       rotate x*-90 rotate z*-15 translate <2.3,-2,1>
     }<

●プリミティブのタイプ:有限ソリッド
●クリッピング形状:○
●CSG:○

< prism の構文>

 prism {
   [ linear_sweep | conic_sweep ]
   [ linear_spline | quadratic_spline | cubic_spline | bezier_spline ]
   HEIGHT1,
   HEIGHT2,
   TOTAL_NUMBER_OF_POINTS,
   <POINT_1>, <POINT_2>, ..., <POINT_n>
   [ open ]
   [ sturm ]
   [ OBJECT_MODIFIERS... ] 
 }
prism 角柱を指定するキーワード
linear_sweep 直線スイープ、スイープの間、要素図形のサイズは変わらない。[デフォルト:linear_sweep ]
conic_sweep 円錐スイープ、スイープの間、要素図形のサイズを縮小していき、角錐状の物体を作る。
linear_spline 2次元図形に対する1次スプラインの指定、各点は直線で結ばれる。[デフォルト:linear_spline ]
quadratic_spline 2次元図形に対する2次スプラインの指定、曲線の始まりの傾きを制御できる。
cubic_spline 2次元図形に対する3次スプラインの指定、曲線の始まりと終わりの傾きを制御できる。
bezier_spline 2次元図形に対するbezierスプラインの指定
HEIGHT1 スイープの始点のy座標、角柱の底部の高さ
HEIGHT2 スイープの終点のy座標、角柱の頂部の高さ
TOTAL_NUMBER_OF_POINTS スプラインに使用する点の総数
<POINT_1>〜<POINT_n> スプラインに使用する各点のx, y座標
open 角柱の両端面を取り除く指定
sturm 形状が正しく描かれない場合に、時間をかけて正確に計算をする指定(3次スプラインのみ)
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定

※ open を使用した角柱は CSG では適切に描かれない場合がある。
※ スプラインについては「11.1-14 回転体:スプライン曲線について」を参照せよ。

要素図形の指定法は、スプライン曲線を使うこと以外は多角形(prism)と同じである。 一つの角柱を作るのに複数の要素図形を使うことができ(※ スイープとスプラインのタイプは変えられない)、偶数個の図形が重なった部分は穴になる。

円錐スイープではy=0が頂点となり、+y方向にサイズが大きくなっていく。 y=1でもとの要素図形のサイズになる。 HEIGHT1とHEIGHT2で指定した高さで切り取られる。


11.1-16 球スイープ(sphere_sweep)

球体が移動したときの軌跡によりできる立体である。球の移動点を指定することでスイープ図形が生成される。

図11.1-16 球スイープ

●球スイープの例(図11.1-16)

   sphere_sweep {
     linear_spline,
     4,
     <-0.5,0,0>, 0.1
     <-0.5,0,1>, 0.1
     < 0.5,0,0>, 0.1
     < 0.5,0,1>, 0.1
  }

●プリミティブのタイプ:有限ソリッド
●クリッピング形状:○
●CSG:△(マージ×)

< sphere_sweep の構文>

 sphere_sweep {
   [ linear_spline | b_spline | cubic_spline ]
   NUM_OF_SPHERES,
   <CENTER>, RADIUS
   <CENTER>, RADIUS
     ...
   <CENTER>, RADIUS
   [ tolerance DEPTH_TOLERANCE ]
   [ OBJECT_MODIFIERS... ]
 }
sphere_sweep 球スイープを指定するキーワード
linear_spline 1次スプラインの指定。 各点は直線で結ばれる。
b_spline B-スプラインの指定
cubic_spline 3次スプラインの指定。 曲線の始まりと終わりの傾きを制御できる。
NUM_OF_SPHERES 点数
<CENTER> 球の中心のx, y, z座標
RADIUS 球の半径
tolerance DEPTH_TOLERANCE 許容誤差の設定 [デフォルト:10.e-6 ]
OBJECT_MODIFIERS... 物体の変形・テクスチャなどの指定

※ 許容誤差 : レイ・トレーシングで影の判定を行うときに、判定点において光源の方向に物体が存在するかどうかを調べる。物体が存在するとその物体までの距離が計算される。許容誤差とはこの距離の最小値を指し、これ以上の値を影であると判定する。許容誤差が小さすぎると球スイープ物体自身が影の物体と判定され、黒い点のようなものが発生することがある。このような場合は、許容誤差を大きくする。