PovRayメモ
球
sphere{ <x,y,z>, // 中心 r // 半径 pigment{} finish{} }
円柱
cylinder{ <x,y,z>, // 底面の座標 <x,y,z>, // 上面の座標 r // 半径 open // これを加えると両端面が取り除かれる pigment{} finish{} }
円錐 (矢印の先端を作るのに用いる)
cone{ <x,y,z>, // 底面の座標 r // 底面の半径 <x,y,z>, // 上面の座標 r // 上面の半径 open // これを加えると両端面が取り除かれる pigment{} finish{} }
線分(複数の球体をつなげる)
object{ sphere_sweep{ linear_spline, // 球のつなげかた。他にもcubic_splineやb_splineがある n, // 球の数 <x,y,z>, // 球1の座標 r // 球1の半径 <x,y,z>, // 球2の座標 r // 球2の半径 ... pigment{} } finish{} }
等値面
object{ isosurface{ function{f(X,Y,Z)} // f(X,Y,Z)=0が表示される contained_by{box{<x1,y1,z1>,<x2,y2,z2>}}, // 表示領域 open // これをつけると開曲面となる accuracy // 精度 max_gradient // 表示する立体の傾きの最大値 pigment{} } finish{} }
媒介変数を用いた曲面
object{ parametric{ function{x(u,v)}, function{y(u,v)}, function{z(u,v)}, <u1,v1>,<u2,v2> contained_by{box{<x1,y1,z1>,<x2,y2,z2>}}, // 表示領域 accuracy // 精度 max_gradient // 表示する立体の傾きの最大値 pigment{} } finish{} }
色の取り扱い
仕上げの取り扱い
よく使うカラーマッピング
pigment{
function{f(X,Y,Z)} // 0 < f < 1となる関数
color_map{[0 color Blue] [0.33 color Green] [0.66 color Yellow] [1 color Red]}
}
背景画像を透明にしてpng出力をする
background{rgbt<0,0,0,1>}としておいて、出力の際に+FNと+UAを付ける。例えば
povray hoge.pov +FN +UA
出力画像のサイズ指定
例えば500x400の画像の場合povray hoge.pov +H500 +W400
繰り返し構文の例
#declare Q=0; #declare dQ=0.01; #while (Q<100) #declare P=Q*dQ; Pを使ってやりたいこと #declare Q=Q+1; #end
影が気になる
Povrayは光源と物体の位置によって、物体の影が別の物体に映ることがある。これが気になる場合、影を映す方の物体にno_shadowを与えることによって、影が映るのを防ぐことができる。カメラの縦横比を揃える
location <カメラの位置> look_at <見る位置> right <0,1,0> up <0,0,1>