/* iic.pov - iterative imaging version 3 2007 Sam Benge Suggested command line options: +w300 +h300 +ft +kff40 This file will produce an error for the last frame. I haven't fully investigated the reason, but it should not be a problem. The code is messy and disorganized. Good luck! */ global_settings{ assumed_gamma 2.2 } camera{ orthographic right x*2 up y*2 location -z*100 look_at 0 } #default{ finish{ambient 1 } } // change the random seed for different results #declare R=seed(0003); // this is the number total elements #declare total_num=int(10+rand(R)*10); // this number should correspond to the +kff value #declare total_frames = 40; #declare file_name = "iic"; #declare starter= plane{z,0 pigment{ radial rotate x*90+z*rand(R)*720 triangle_wave color_map{ #declare V=0; #declare rrgb=-.4; #while(V<=1) [V rgb rrgb] #declare rrgb=rrgb+*.4; #declare V=V+1/10; #end } } } #macro scene_elements() object{starter} #declare pigm= pigment{ image_map{ tga file_name interpolate 2 } translate-(x+y)/2 scale 2 rotate z*(-1+rand(R)*2)*360 #if(rand(R)>.5) translate y*rand(R)/2 warp{repeat y flip y} #end } #declare img= pigment{ pigment_pattern{ cylindrical rotate x*270 } pigment_map{ [0 pigm transmit 1 filter 1 ] [.25 pigm ] } } #declare img_disc= disc{0,z,1 pigment{img} } #declare V=0; #while(V*2-z*(V+1) } #declare V=V+1; #end object{starter} #end #declare frame_number = int(clock*total_frames); #if(frame_number>0) #if(frame_number<10) #declare file_name=concat(file_name,"0",str(frame_number,0,0),".tga"); #else #declare file_name=concat(file_name,str(frame_number,0,0),".tga"); #end scene_elements() #else object{starter} #end