// Last edited on 2023-12-30 06:14:16 by stolfi #version 3.7; global_settings { assumed_gamma 2.2 } background{ color rgb < 0.75, 0.80, 0.95 > } #declare tx_cinza = texture{ pigment{ color rgb < 0.50, 0.50, 0.50 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_painel = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0 ambient 1 } } #macro parede1() prism { conic_sweep linear_spline 0.5, // height 1 1, // height 2 5, // the number of points making up the shape <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> rotate <270, 0, 0> translate <0, 0, 1> scale <1, 1, 4> texture{tx_cinza} } #end #macro parede2() prism { conic_sweep linear_spline 0.5, // height 1 1, // height 2 5, // the number of points making up the shape <2,2>,<-2,2>,<-2,-2>,<2,-2>,<2,2> rotate <270, 0, 0> translate <0, 0, 2> scale <0.75, 0.75, 2> texture{tx_cinza} } #end #macro painel1() box{<0,-2,0.5>, <0.1,2,2.5> rotate<0,-45,0> translate<4,0,0> texture{tx_painel}} #end #macro painel2() box{<0,-0.75,0.5>, <0.1,0.75,1.5> rotate<0,-40,0> translate<1.75,0,1.75> texture{tx_painel}} #end #macro templo() union{ object{parede1()} object{painel1()} object{painel1() rotate<0,0,90>} object{painel1() rotate<0,0,180>} object{painel1() rotate<0,0,270>} object{parede2()} object{painel2()} object{painel2() rotate<0,0,90>} object{painel2() rotate<0,0,180>} object{painel2() rotate<0,0,270>} } #end object{ templo() } #include "direcao_do_sol.inc" #include "parametros.inc" #local dir_norte = < 0.0, cos(radians(lat)), sin(radians(lat)) >; #local dir_sol = direcao_do_sol(lat, lon, mes, hora); #include "eixos.inc" #local cmp_eixos = 5.0; // object{ eixos(cmp_eixos) } #declare cmin = < -4.5, -4.5, 0.00 >; #declare cmax = < +4.5, +4.5, +3.5 >; #declare centro_cena = (cmin + cmax)/2 - 1*z; #include "gaiola.inc" // object{ gaiola(cmin,cmax) } object{ gaichao(cmin,cmax) } #include "camsol.inc" #declare raio_cena = 0.65*vlength(cmax-cmin); #declare intens_luz = 1.20; // #declare vista = 3; camsol(centro_cena, raio_cena, vista, dir_norte, dir_sol, intens_luz)