// Last edited on 2023-09-25 19:12:44 by stolfilocal background{ color rgb < 0.5, 0.5, 0.5 > } #declare branco = texture{ pigment{ color rgb < 1 1 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare preto = texture{ pigment{ color rgb < 0.3, 0.3, 0.3 > } finish{ diffuse 0.9 ambient 0.1 } } #declare cubo = box{ <-1,-1,-1>,<1,1,1> texture{branco} } #declare esfera = sphere{ <0,0,0>,1 texture{branco} } #declare cone_invertido = cone{ <0,0,0.0>,0,<0,0,3>,1 texture{branco} } #declare cone_normal= cone{ <0,0,1>,1,<0,0,3>,0 texture{branco} } #declare base= cylinder{ <0,0,0>,<0,0,0.5>,1.5 texture{preto} } #declare esfera= sphere{ <0,0,0>,1 texture{branco} } #declare mini_esfera= sphere{ <0,0,0>,0.7 texture{branco} } #declare cano= cylinder{ <0,0,0>,<0.5,0,0>,0.1 texture{preto} } #macro tanque1() union{ object{esfera} object{cone_invertido} object{cano translate<1,0,0> } object{cano translate<-1.5,0,0>} object{cano translate<-1.5,0,0> rotate 270*z rotate 90*x translate<0,0,2>} } #end #macro tanque2() union{ object{cubo} object{cone_normal} object{cano translate<1,0,0>} object{cano translate<1,0,0> rotate 90*z} object{cano translate<1,0,0> rotate 270*y translate<0,0,2>} } #end #macro tanque3() union{ object{esfera} object{mini_esfera translate<0,0,1.5>} object{cano translate<1,0,0> } object{cano translate<-1.5,0,0>} object{cano translate<0.7,0,1.5> rotate 90*z} } #end #declare roleta=seed(34567); #declare ponta11=<1.5,0,0>; #declare ponta12=<-1.5,0,0>; #declare ponta13=<0,0,3.5>; #declare ponta21=<1.5,0,0>; #declare ponta22=<0,1.5,0>; #declare ponta23=<0,0,3.5>; #declare ponta31=<1.5,0,0>; #declare ponta32=<-1.5,0,0>; #declare ponta33=<0,0,2.7>; #macro gera_tanques(m,n) #local i=0; #declare pontas=array[3*m*n] #while(i} #else #if(tq=1) object{tanque2() translate<5*i,5*j,0>} #else object{tanque3() translate<5*i,5*j,0>} #end #end #local j=j+1; #end #local i=i+1; #end #end #macro gera_tubulacoes(p,q) #end #include "eixos.inc" #declare nfilas = 7; declare ncols = 4; gera_tanques(nfilas, ncols) #declare tam_cena = < 5*nfilas, 5*ncols, 3 >; #include "camlight.inc" #declare centro_cena = 0.5*tam_cena; #declare raio_cena = 0.6*vlength(tam_cena); #declare dir_camera = < 4, 2, 3>; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera, z, intens_luz)