// Last edited on 2023-12-30 06:07:29 by stolfi #version 3.7; global_settings { assumed_gamma 2.2 } #include "direcao_do_sol.inc" #include "parametros.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare chao = box{ <-20,-20,-4>, <+20,+20,-3.01> texture{pigment{color<0,0.8,0.1>}}} #declare tx_panel = texture { pigment {color <1,0,0>} finish {ambient 1 diffuse 0} } #macro painel(pos,rot,escala) box { <-0.5,-0.5,0> <0.5,0.5,0.01> scale escala rotate rot translate pos } #end #macro piramide(pos,escala) prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <1,1>,<-1,1>,<-1,-1>,<1,-1>,<1,1> rotate -x*90 scale escala translate pos } #end #macro templo() union { difference { piramide(<0,0,0>,<3,3,3>) piramide(<0,0,-2>,<2,2,-2>) } piramide(<0,0,-2>,<2,2,-2>) box { <-2,-2,0> <2,2,1> } piramide(<0,0,3>,<2,2,2>) cylinder { <0,0,2.7> <0,0,4> 0.3 } cone { <0,0,4>, 0.3 <0,0,5>, 0.0 } union { painel(<2,0,-2>,<0,45,0>,<2,2,1>) painel(<-2,0,-2>,<0,-45,0>,<2,2,1>) painel(<0,2,-2>,<-45,0,0>,<2,2,1>) painel(<0,-2,-2>,<45,0,0>,<2,2,1>) painel(<1.2,0,1.8>,<0,45,0>,<1.2,1.2,1>) painel(<-1.2,0,1.8>,<0,-45,0>,<1.2,1.2,1>) painel(<0,1.2,1.8>,<-45,0,0>,<1.2,1.2,1>) painel(<0,-1.2,1.8>,<45,0,0>,<1.2,1.2,1>) texture {tx_panel} } chao pigment {color <0.5,0.5,0.5>} } #end object{ templo() } #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 = < -3.5, -3.5, -3.0 >; #declare cmax = < +3.5, +3.5, +5.5 >; #declare centro_cena = (cmin + cmax)/2; #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)