// MC930 - Exemplo de main.pov para o trabalho final // Last edited on 2000-12-14 09:07:40 by mc726 // Alan Roberto Romaniuc 961829 // MONUMENTO: Biblioteca Municipal de Campinas #include "colors.inc" #include "textures.inc" #include "skies.inc" #include "stones.inc" //apagar os //speed //sky_sphere { S_Cloud3 } global_settings { assumed_gamma 0.4 } background{ color Black } light_source { < -1.00, 2.5, -3.00 > color rgb < 1.00, 1.00, 1.00 > } camera { location < -8.0, 8, -8 > look_at < 4.0, 3.0 , 4 > } //speedplane { y,0 //speed pigment { color Green } //speed} #declare Concreto = texture { pigment { granite //speed turbulence 0.9 color_map { //speed [0.0, rgb < 0.1,0.1,0.1 > ] //speed [0.1, rgb < 0.4,0.4,0.5 > ] [0.9, rgb < 0.3,0.34,0.37 > ] } } } #declare Cimento = texture { pigment { granite //speed turbulence 1 color_map { //speed [0.0, rgb < 0.0,0.0,0.0 > ] //speed [0.1, rgb < 0.7,0.7,0.7 > ] [0.7, rgb < 0.6,0.6,0.6 > ] } } //speed finish { roughness 1 //speed phong 0.5 } } #declare pe=0.22; #declare passo=4*pe; #declare l_janela = 3*pe; #declare p_janela = 0.1; #declare l_janelal = l_janela; #declare p_janelal = p_janela; #declare a_bloco1 = 2.5*pe; #declare l_bloco1 = l_janela-2*(pe/4); #declare a_bloco2 = 2.6*pe; // repete duas vezes por janela #declare l_bloco2 = l_bloco1; #declare a_bloco3 = 1.8*pe; #declare l_bloco3 = l_janela; #declare a_bloco4 = 1.8*pe; #declare l_bloco4 = l_bloco1; // deve ser mudado a fim de ganhar centralizacao #declare a_bloco5 = 1.8*pe; #declare l_bloco5 = l_bloco4; #declare entre_blocos = 0.05; #declare entre_janelas = 0.05; #declare a_janela = a_bloco1 + 2*a_bloco2 + a_bloco3 + a_bloco4 + 7*entre_blocos; #declare a_janelal = a_janela + a_bloco5 + entre_blocos; #declare d_teto_janela = a_bloco5+entre_blocos; //distancia do teto a janela #declare p_coluna_maior = 0.3; #declare p_coluna_menor = 0.2; #declare d_teto_janelal = a_janelal-(a_janela + d_teto_janela); //distancia do teto a janela lateral #declare l_corte_teto = 0.1; //largura da lateral #declare a_corte_teto = 0.1; #declare p_corte_teto = p_janela; #declare p_teto = 1; #declare a_teto = 0.5; #declare l_teto = ((12*l_janela)-(2*l_corte_teto))/5; //so um alias #declare a_conect = a_teto/2; #declare l_conect = l_corte_teto; #declare p_conect = p_teto; #declare l_coluna = 2*l_corte_teto + l_conect; #declare modulo_frente = 12*l_janela + 2*l_corte_teto; // TETO /////////////////////////////////////////////////////// // FRontal #declare teto_bloco = difference { box { <0,0,0> texture { Concreto } } box { <0,0,0> translate texture { Concreto } } } #declare conector_teto = box { <0,0,0> texture { Concreto } } #declare teto_simples = union { object { teto_bloco } object { conector_teto translate } } #declare teto_x_5 = union { #declare Count=0; #while (Count < 5) object{ teto_simples translate x*Count*(l_teto+l_conect)} #declare Count=Count+1; #end } #declare coluna_funda = box { <0,0,0> translate <0,0,-p_coluna_maior> //?? texture { Concreto } } #declare coluna_rasa = box { <0,0,0> translate <0,0,-p_coluna_menor> //?? texture { Concreto } } #declare coluna= union { object { coluna_funda } object { coluna_rasa translate x*l_corte_teto } object { coluna_funda translate x*(l_corte_teto + (l_conect)) } } #declare colunabico= difference { object { coluna } object { coluna_rasa rotate y*-90 scale y*1.01 translate x*-(p_coluna_maior - p_coluna_menor) translate z*-(p_coluna_maior-l_conect) } } #declare parede_simples = union { object { teto_x_5 translate <0, (a_janela + d_teto_janela), -p_teto> } box { <0,0,0> <12*l_janela, d_teto_janela, p_janela> texture { Concreto } translate } translate z*p_janela } // parede e teto lateral sao diferntes do frontal e traseiro #declare tetol_bloco = union { box { <0,0,0> //frente texture { Concreto } translate z*p_teto translate y*(a_teto-a_conect) } box { <0,0,0> //Fundo texture { Concreto } } box { <0,0,0> // teto texture { Concreto } translate y*(a_teto-p_corte_teto) } } #declare tetol_simples = union { object { tetol_bloco } object { conector_teto translate } scale z*-1 translate z*p_teto } #declare tetol_x_5 = union { #declare Count=0; #while (Count < 5) object{ tetol_simples translate x*Count*(l_teto+l_conect)} #declare Count=Count+1; #end } #declare paredel_simples = union { object { tetol_x_5 translate <0, (a_janela + d_teto_janela), -p_teto> } box { <0,0,0> <12*l_janelal, d_teto_janelal, p_janelal> texture { Concreto } translate } translate z*p_janela } ////////////////////////////////////////////////////////////////////////////////////////////// // Janela Frontal #declare quadro_janela = union { box { <0,0,0> pigment { color VLightGray } //speed finish { reflection 0.1 } } box { <0,0,-p_janela*0.75> pigment { color VLightGray } //speed finish { reflection 0.1 } } box { <(l_janela - entre_janelas*2/3), a_janela, p_janela> pigment { color VLightGray } //speed finish { reflection 0.1 } } } #declare quadro_janelal = union { box { <0,0,0> pigment { color VLightGray } //speed finish { reflection 0.1 } } box { <0,0,-p_janela*0.75> pigment { color VLightGray } //speed finish { reflection 0.1 } } box { <(l_janela - entre_janelas*2/3), a_janelal, p_janela> pigment { color VLightGray } //speed finish { reflection 0.1 } } } #declare quadro_bloco1 = box { <0,0,0> } #declare quadro_bloco2 = box { <0,0,0> finish {reflection 0.3} } #declare quadro_bloco3 = box { <0,0,0> } #declare quadro_bloco4 = box { <0,0,0> } #declare quadro_bloco5 = box { <0,0,0> } #declare janela_vasada = difference { object { quadro_janela } object { quadro_bloco1 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco2 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco2 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco3 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco4 scale <1, 1, 5> translate pigment { color Silver } } } #declare janela_vasadal = difference { object { quadro_janelal } object { quadro_bloco1 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco2 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco2 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco3 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco4 scale <1, 1, 5> translate pigment { color Silver } } object { quadro_bloco5 scale <1, 1, 5> translate pigment { color Silver } } } #declare janela = union { object { janela_vasada } object { quadro_bloco1 pigment { color Blue } translate } object { quadro_bloco2 translate pigment { rgbt <1,1,1,0.95> } } object { quadro_bloco2 translate pigment { rgbt <1,1,1,0.95> } } object { quadro_bloco3 translate texture { Concreto } } object { quadro_bloco4 translate pigment { rgb <0.5, 0.5, 0.5> } //speed finish { reflection 0.1 } } } #declare janelal = union { object { janela_vasadal } object { quadro_bloco1 pigment { color Blue } translate } object { quadro_bloco2 translate pigment { rgbt <1,1,1,0.95> } } object { quadro_bloco2 translate pigment { rgbt <1,1,1,0.95> } } object { quadro_bloco3 translate texture { Concreto } } object { quadro_bloco4 translate pigment { rgb <0.5, 0.5, 0.5> } //speed finish { reflection 0.1 } } object { quadro_bloco5 translate pigment { rgb <0.5, 0.5, 0.5> } //speed finish { reflection 0.1 } } } #declare janela_x_12 = union { #declare Count=0; #while (Count < 12) object{ janela translate x*Count*l_janela} #declare Count=Count+1; #end } #declare janelal_x_12 = union { #declare Count=0; #while (Count < 12) object{ janelal translate x*Count*l_janela} #declare Count=Count+1; #end } #declare janelaesp_x_3 = union { #declare Count=0; #while (Count < 3) object{ janela scale x*1.1 translate x*Count*l_janela} #declare Count=Count+1; #end } #declare modulo_andar_fs= //frontal superior union { object { janela_x_12 translate x*l_conect } object { parede_simples } } #declare modulo_andar_fl= // lateral superior union { object { janelal_x_12 translate x*l_conect } object { paredel_simples } } #declare wallf = union { // frente object { colunabico } object { modulo_andar_fs translate x*(l_coluna-l_corte_teto) } object { colunabico translate x*(l_coluna+12*l_janela) } object { modulo_andar_fs translate x*(2*l_coluna+2*12*l_janela) } } #declare wallfundo= union { // sentido horario lateral object { colunabico } object { modulo_andar_fs translate x*(l_coluna-l_corte_teto) } object { coluna translate x*(l_coluna+12*l_janela) } object { modulo_andar_fs translate x*(2*l_coluna-l_corte_teto+12*l_janela) } object { coluna translate x*(l_coluna+24*l_janela) } object { modulo_andar_fs translate x*(2*l_coluna-l_corte_teto+2*12*l_janelal) } object { colunabico translate x*(2*l_coluna+3*12*l_janela) } } #declare walll= union { // sentido horario lateral object { colunabico } object { modulo_andar_fl translate x*(l_coluna-l_corte_teto) } object { coluna translate x*(l_coluna+12*l_janela) } object { modulo_andar_fl translate x*(2*l_coluna-l_corte_teto+12*l_janela) } object { coluna translate x*(l_coluna+24*l_janela) } object { modulo_andar_fl translate x*(2*l_coluna-l_corte_teto+2*12*l_janelal) } object { colunabico translate x*(2*l_coluna+3*12*l_janela) } } #declare paredes= union { object { wallf } object { walll scale z*-1 rotate y*-90 translate z*-l_coluna translate x*p_coluna_maior } object { wallfundo scale z*-1 translate z*(3*l_coluna + 3*12*l_janela-l_coluna) } object { walll rotate y*-90 translate x*(3*l_coluna + 3*12*l_janela-l_coluna) } // janelas menores da entrada } object { paredes } //object { janelaesp_x_3 }