// Last edited on 2003-12-14 22:13:57 by stolfi // ====================================================================== global_settings{ max_trace_level 10 } #declare ctr = < 0.00, 0.00, 5.00 >; #declare camDir = < 28.00, 0.0, 0.00 >; camera { location ctr + 1.00*camDir right -1.00*x up 1.00*y sky z look_at ctr } // ====================================================================== // FONTES DE LUZ light_source { < 0.0, 0.0, 20.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 20.0, 0.0, 0.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb 1.5*< 0.1, 0.3, 0.5 > } //#declare raio = 2.000; #declare vidro = texture { pigment { color rgb < 1.0, 1.0, 1.0 > filter 0.8} finish { diffuse 0.0 specular 0.0 reflection 0.1 roughness 0.02 ambient 0.1 } } #declare cor_espelho = < 0.90, 0.90, 1.0 >; #declare espelho = texture { pigment { color rgb cor_espelho} finish { diffuse 0.1 specular 0.1 roughness 0.05 ambient 0.05 reflection 0.7*cor_espelho} } #declare preto=texture{ pigment { color rgb <0.1,0.1,0.1>} finish { diffuse 0.6 specular 0.20 roughness 0.05 ambient 0.05 reflection 0.3} } #declare texchao = texture { pigment {color 1.8*<0.5,0.5,0.5>} } #declare cunha = union { cone{<0,0,0> 1 <0,0.2,0> 0} cone{<0,0,0> 1 <0,-0.2,0> 0} texture {espelho} } #declare cunha_v = union { difference { object {cunha rotate<30,0,0>} box{<10,0,10> <-10,10,-10>} } difference { object {cunha rotate<-30,0,0>} box{<10,0,10> <-10,-10,-10>} } texture {espelho} scale 1.2*<1,1,1> } #declare cunha_l = union { difference { object {cunha rotate<45,0,0>} box{<10,0,10> <-10,10,-10>} } difference { object {cunha rotate<-45,0,0>} box{<10,0,10> <-10,-10,-10>} } texture {espelho} rotate<-45,0,0> scale 1.2*<1,0.8,1> } #declare esfera = sphere { <0,0,0> 1 texture{espelho} } #declare esfera_i = difference { object {esfera} object {cunha translate<1,0,0>} } #declare esfera_v = difference { object {esfera} object {cunha_v translate<1,0,-0.5>} } #declare esfera_l = difference { object {esfera} object {cunha_l translate<1,-0.3,-0.3>} } #declare comp_linha = 6; #declare linha = cylinder { <0,0,0> <0,0,comp_linha> 0.03 } #declare incl_linha = 45; #declare esfera_linha = union { object {esfera} object {linha rotate<0,incl_linha,0>} object {linha rotate<0,-1*incl_linha,0>} translate<0,0,-1*(comp_linha*cos(incl_linha*pi/180))> } #declare esfera_linha_l = union { object {esfera_l} object {linha rotate<0,incl_linha,0>} object {linha rotate<0,-1*incl_linha,0>} translate<0,0,-1*(comp_linha*cos(incl_linha*pi/180))> } #declare esfera_linha_i = union { object {esfera_i} object {linha rotate<0,incl_linha,0>} object {linha rotate<0,-1*incl_linha,0>} translate<0,0,-1*(comp_linha*cos(incl_linha*pi/180))> } #declare esfera_linha_v = union { object {esfera_v} object {linha rotate<0,incl_linha,0>} object {linha rotate<0,-1*incl_linha,0>} translate<0,0,-1*(comp_linha*cos(incl_linha*pi/180))> } #declare base = cylinder { <0,0,0> <0,0,1> 1 scale<7,15,1> texture{preto} } #declare barra_lateral = box{ <0,0,0> <1,-1,6> } #declare barra_superior = box{ <0,-5,0> <1,0,1> } #declare curva = intersection { difference { cylinder {<0,0,0> <1,0,0> 4} cylinder {<-1,0,0> <2,0,0> 3} } box{<-10,-10,0> <10,0,10>} } #declare meia_barra = union { object {barra_lateral translate<0,-8,0>} object {barra_superior translate<0,0,9>} object {curva translate<0,-5,6>} } #declare barra = union { object {meia_barra} object {meia_barra scale<1,-1,1>} texture{vidro} interior {ior 1.4} } #declare brinquedo = union { object {esfera_linha translate<0,-4,9.5>} object {esfera_linha_l translate<0,-2,9.5>} object {esfera_linha_i translate<0,0,9.5>} object {esfera_linha_v translate<0,2,9.5>} object {esfera_linha rotate<40,0,0> translate<0,4,9.5>} object {barra translate<-1*comp_linha*sin(incl_linha*pi/180),0,0>} object {barra translate<-1*comp_linha*sin(incl_linha*pi/180),0,0> scale<-1,1,1>} object {base} } #declare chao = plane { <0,0,1> 0 texture{texchao} } union { object {brinquedo} object {chao} }