2005年1月 9日

Cubeを描く POVRAY編(その3)

アニメーションgifを作ってみた。

作り方は下記。

まず、.povファイルの中身

#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "glass.inc"
#include "metals.inc"
#include "woods.inc"

camera{
        location<-6,100-clock*200,-12>
        look_at<0,0,0>
        }

light_source{ <-150,100,-200> color 1.0*White }

light_source{ <100,100,10> color 0.5*White }

light_source{ <20,100,100> color 0.5*Pink }

background { White }

//Z=-2
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, -2, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate < 0, -2, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate < 2, -2, -2> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, 0, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <0, 0, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, 0, -2> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, 2, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <0, 2, -2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, 2, -2> scale 0.9 }

//Z=0
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, -2, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <0, -2, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, -2, 0> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <-2, 0, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <0, 0, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <2, 0, 0> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, 2, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <0, 2, 0> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, 2, 0> scale 0.9 }

//Z=2
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, -2, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <0, -2, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, -2, 2> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, 0, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { T_Gold_1B } translate <0, 0, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, 0, 2> scale 0.9 }

superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <-2, 2, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <0, 2, 2> scale 0.9 }
superellipsoid { <0.25, 0.25> texture { Soft_Silver } translate <2, 2, 2> scale 0.9 }

上の方のcameraを時刻に従って動かしているだけ。
これを

povray +Ipovtest.pov +Odada.jpg +W300 +H200 +V -D +X +KFF50
とかで動かすと、jpgファイルが連番で出来る。

さらに、

ls |tac|awk 'BEGIN {dada=50;} {print "cp ",$1, "dada0"dada++".jpg";}'|sh
のように、泥臭く折り返しフレーム用のファイルを作る。

これをImageMagick由来のanimateで読み込ませて、gifでsaveしてできあがり。
#もっと楽な方法があるに違いない(^^;

投稿者 his : 2005年1月 9日 23:15
このエントリーのトラックバックURL: http://hoop.euqset.org/blog/mt-tb2006.cgi/905
コメント
コメントする









名前、アドレスを登録しますか?





画像の中に見える文字を入力してください。