camera { location <3, 3, 3> sky <0, 0, 1> look_at <0, 0, 0> angle 45 } |
light_source{ <2, 3, 5> color rgb <1, 1, 1> parallel point_at <0, 0, 0> } | 光源の設定 光源位置 色の設定(rgb) 平行光線 原点向きに照射 |
sphere { <0, 0, 0>, 0.5 pigment { rgbt <1, 1, 1, 0> } } | 球の配置 位置と半径 球の色設定 色の設定(rgb+透明度) |
#! /usr/bin/perl $input = "SAMPLEDATA/Dust001.txt"; $output = "POVSEQUENCE/povout.pov"; open (IN, "< ${input}"); open (OUT, "> ${output}"); while ($line = <IN>){ ($x, $y, $z, $dummy, $dummy, $dummy, $r) = split(/\s+/, $line); printf OUT "sphere {\r\n"; printf OUT "\t<$x, $y, $z>, $r\r\n"; printf OUT "\tpigment {\r\n"; printf OUT "\t\trgbt <1, 1, 1, 0>\r\n"; printf OUT "\t}\r\n"; printf OUT "}\r\n"; } | システム内のperlの位置 入力ファイル名 出力ファイル名 入力モードでオープン 出力モードでオープン 入力を1行づつ読むループ 各変数に代入する 出力フォーマット (Windows環境を想定して 改行記号\r\nとしている。 Linux/UNIX系OSでは\n となる。) |
#macro S(p, r) sphere{ p, r pigment { rgbt <1, 1, 1, 0> } } #end |
S (<x, y, z>, r) |
#! /usr/bin/perl\yen n $input = "SAMPLEDATA/Dust001.txt"; $output = "POVSEQUENCE/povout.pov"; open (IN, "< $input"); open (OUT, "> $output"); while ($line = <IN>){ ($x, $y, $z, $dummy, $dummy, $dummy, $r) = split(/\s+/, $line); printf OUT "S(<$x, $y, $z>, $r)\r\n"; } |