// Source by Thomas Lake #include "colors.inc" /* .8 2 4 */ #declare boxh = 0.8; #declare boxw = 2; #declare boxl = 4; #declare Brick = box{ <-boxw/2,boxh/2,-boxl/2> texture{ pigment {color White} } } camera{ location <0,15,-50> look_at <0,20,0> } #declare Ypos = 0; #declare Zpos = 0; #declare Zrot = 0; #declare MortorW = 0.2; #declare Ztrans = boxl+MortorW; #declare Ytrans = boxh+MortorW; #declare TunHight = 30; #declare TunWidth = 60; #declare TunLength = 200; //#declare ZCount = 0; //#declare YCount = 0; // Wall #while (Ypos < TunHight) #while (Zpos < TunLength) object{ Brick translate } #declare Zpos = Zpos+Ztrans; #end #declare Zpos = 0; #declare Ypos = Ypos+Ytrans; #end //Arch #while (Zrot < 180) #while (Zpos < TunLength) object{ Brick translate rotate <0,0,Zrot> translate <0,Ypos,0> } #declare Zpos = Zpos+Ztrans; #end #declare Zpos = 0; #declare Zrot = Zrot + ((360*boxh)/(pi*TunWidth)) + (degrees(atan2((MortorW*2/TunWidth),1))); #end #declare Ypos=0 //Oposite Wall #while (Ypos < TunHight) #while (Zpos < TunLength) object{ Brick translate <-TunWidth/2,Ypos,Zpos> } #declare Zpos = Zpos+Ztrans; #end #declare Zpos = 0; #declare Ypos = Ypos+Ytrans; #end /*#while (BSCount < 60) #while (BRCount < 70) object { Brick rotate y*rand(RBrick)/(rand(RBrick)*rand(RBrick)) translate texture{ pigment{ color rgb } } } #declare BRCount = BRCount+1; #end */ /* #declare BStrans = 2.5; #declare BSCount = BSCount+1; #declare BRCount = 0; */ light_source {<-100,10,-500> color White}