#! /usr/bin/perl $input = "SAMPLEDATA/Dust%03d.txt"; $output = "POVINTERPOLATE/povout%03d.pov"; for ($i = 1; $i <= 9; $i++){ $fin = sprintf($input , $i); $fin2 = sprintf($input , $i+1); $fout = sprintf($output, $i); open (IN, "< $fin"); open (IN2, "< $fin2"); open (OUT, "> $fout"); printf OUT << 'END'; #macro S(p, r) sphere{ p, r pigment { rgbt <1, 1, 1, 0> } } #end camera { location <0.6, 0.6, 0.6> sky <0, 0, 1> look_at <0, 0, 0.6> angle 45 } light_source{ <2, 3, 5> color rgb 2 * <1, 1, 1> parallel point_at <0, 0, 0> } END while ($line = <IN>){ ($x, $y, $z, $dummy, $dummy, $dummy, $r) = split(/\s+/, $line); $line = <IN2>; ($x2,$y2,$z2, $dummy, $dummy, $dummy,$r2) = split(/\s+/, $line); printf OUT "S(< ($x2 - $x) * clock + $x, ($y2 - $y) * clock + $y, ($z2 - $z) * clock + $z>, ($r2 - $r) * clock + $r)\r\n"; } close(IN); close(OUT); } |
sphere { < 3*clock, 0, 0>, 1 } |
S(<(0.363407 - 0.363407) * clock + 0.363407, (0.354748 - 0.354748) * clock + 0.354748, (0.45668 - 0.419623) * clock + 0.419623>, (0.001 - 0.001) * clock + 0.001) |
$ povray /RENDER povout001.pov +KFI0 +KFF10 +SF0 +EF9 +Opovout /EXIT |
$ povray povout001.pov +KFI0 +KFF10 +SF0 +EF9 +Opovout |
+KFI0 +KFF10 | 何枚目から何枚目までを clock の 0 から 1 に対応させるかの設定です。 .ini ファイルでの以下の設定に対応します。 Initial_Frame = 0 Final_Frame = 10 |
+SF0 +EF9 | 実際に何枚目から何枚目までレンダリングを実行するかです。 ここでは0〜9までのレンダリングをするようにしています。 .ini ファイルでの以下の設定に対応します。 Subset_Start_Frame = 0 Subset_End_Frame = 9 |
+Opovout | +の後は大文字のオーです。出力ファイル名を設定します。 デフォルトでは .pov ファイルと同じ名前になるのですが、 今回はそのままだと povout001000.bmp … の様に混乱してしまうので、 ファイル名の数字を使わないように強制的に設定しています。 Output_File_Name = povray に相当します。 |
+Hn +Wn | 高さ(height)と幅(width)の設定です。
ini ファイルでの以下の設定に対応します。 Height=n Width=n | |
+A -A | アンチエイリアスのオンオフです。 オンにすると(時間をかけて)より高画質の絵を作ります Antialias=ture/false に相当します。(ちなみにyes/no, on/offでも認識します) | |
+Fxn | xは出力するファイルのタイプです。 ファイルタイプは一文字で表現されていて、例えばP'N'GだとNになります。 さらにnで、出力画像の色深度ビット数も指定することができます。 例えばpngはオプションとして5から16までの値を取れます。(通常は8bit) ファイルタイプは次の選択肢があります。
Output_File_Type=x Bits_Per_Color=n | |
+KIn.n +KFn.n | clock の変化を 0→1 ではなく任意のn.nからn.nまでにします Initial_Clock=n.n Final_Clock=n.n に相当します。 clockの数式で表したカメラワークの微調整に使うかもしれません。 |
povray /RENDER povout001.pov +KFI0 +KFF10 +SF0 +EF9 +Opovout /EXIT povray /RENDER povout002.pov +KFI10 +KFF20 +SF10 +EF19 +Opovout /EXIT povray /RENDER povout003.pov +KFI20 +KFF30 +SF20 +EF29 +Opovout /EXIT povray /RENDER povout004.pov +KFI30 +KFF40 +SF30 +EF39 +Opovout /EXIT povray /RENDER povout005.pov +KFI40 +KFF50 +SF40 +EF49 +Opovout /EXIT povray /RENDER povout006.pov +KFI50 +KFF60 +SF50 +EF59 +Opovout /EXIT povray /RENDER povout007.pov +KFI60 +KFF70 +SF60 +EF69 +Opovout /EXIT povray /RENDER povout008.pov +KFI70 +KFF80 +SF70 +EF79 +Opovout /EXIT povray /RENDER povout009.pov +KFI80 +KFF90 +SF80 +EF89 +Opovout /EXIT |