// Last edited on 2003-07-02 20:11:31 by stolfi // Amandio Sena // RA 007998 #include "textures.inc" #include "colors.inc" // The include files contain #include "stones.inc" // pre-defined scene elements #include "metals.inc" #include "woods.inc" #include "finish.inc" #include "cores.inc" #include "1.inc" #include "2.inc" #include "3.inc" #include "4.inc" background{ color rgb < 0.50, 0.53, 0.65 > } #declare ctr = <2.5, 2.5, 0>; #declare cam = < 4, 0.2, -20>; camera { location ctr + 1.0 * cam right 1.2*x up 0.4*y sky y look_at ctr } light_source { ctr + 500*(vrotate(cam, +60*y) + 10*y) color rgb 1.3*< 1.00, 1.00, 1.00 > } light_source { ctr + 500*(vrotate(cam, -45*y) + 8*y) color rgb 0.8*< 1.00, 1.00, 1.00 > } light_source { ctr + 500*(vrotate(cam, -5*y) + 1*y) color rgb 0.7*< 1.00, 1.00, 1.00 > } #declare plano = plane { <0, 1, 0>, -1 pigment { checker color 0.5*Gray50 + 0.5*Red, color 0.5*Gray50 + 0.5*Blue } } #declare esfera = sphere { <0,0,0>, 1 } #declare ponta = cone { <0, 0, 0>, .16 <0, .9, 0>, 0 translate y*1 } #declare bomba0 = union { object { esfera } #declare Angulo=0; #while (Angulo < 360) object { ponta rotate } object { ponta rotate } object { ponta rotate <0,Angulo,Angulo> } #declare Angulo=Angulo+45; #end texture { Silver_Metal } } #declare bomba = object { bomba0 scale .8 translate <-1.6,1.4,.7> } #declare prat = box { <0,2.98,-2.98>, // Near lower left corner <6,3.02,3> // Far upper right corner texture { tinta_C } } #declare cpu = union { cylinder { <-3.8,0.3,.6>, // Center of one end <-1.6,1.4,.7> 0.1 // Radius texture { tinta_A } } box { <-3.5,0,0.5>, // Near lower left corner <-5,1.5,-2> // Far upper right corner texture { tx_espelho } } } #declare infinito = 1000; #declare espessura =.05; #declare gondola = union { box { //vertical frente <-1,0,0>, <1,6,espessura> } box { //vertical fundo <-1,0,infinito>, <1,6,infinito+espessura> } box { //tampo piso <-1-espessura,0,0>, <1+espessura,espessura,infinito> } box { //tampo baixo <-1-espessura,0,0>, <1+espessura,espessura,infinito> translate y*2 } box { //tampo alto <-1-espessura,0,0>, <1+espessura,espessura,infinito> translate y*4 } box { //tampo cima <-1-espessura,0,0>, <1+espessura,espessura,infinito> translate y*6 } texture { tinta_E } } #declare maxalas = 4; #declare j=1; #declare maxi=100; #declare gerador = seed(10000); #declare gondolas = union { #declare ala = 0; #while (ala} #else #if (ob<2) object {objeto2 translate <6*ala,(prateleira-1)*2.2+.4,3.5*i>} #else #if (ob<3) object{objeto3 translate <6*ala,(prateleira-1)*2.2+.4,3.5*i>} #else object{objeto4 translate <6*ala,(prateleira-1)*2.2+.4,3.5*i>} #end #end #end #declare i = i + 1; #end //pra uma prateleira termina aqui #declare prateleira = prateleira + 1; #end #declare ala = ala + 1; #end translate -x*maxalas*2 //translada todas as alas } union { object { plano } object { gondolas } }