/////////////////////////////////////////////////////////////////////////////// // // Autor: Luciano Rodrigues Poli - RA 971096 // // Editado pela ultima vez em 11/01/2001 // // Projeto Final de MC930: Predio da Arquitetura // /////////////////////////////////////////////////////////////////////////////// // Importa arquivo de definiçoes do POV-RAY #include "textures.inc" #include "metals.inc" #include "colors.inc" // Posiçao do foco de luz para dar efeito de escurecimento no gramado, // indicando profundidade. light_source { < -10.00, 30.00, -22.00 > // Vista Oficial color rgb < 0.70, 0.70, 0.70 > // Vista Oficial // < 12.00, 25.00, -5.00 > // Vista de frente // color rgb < 1.30, 1.30, 1.30 > // Vista de frente // < 40.00, 25.00, -5.00 > // Vista lateral do predio adjacente // color rgb < 1.30, 1.30, 1.30 > // Vista lateral do predio adjacente // < -15.00, 30.00, 20.00 > // Vista da lateral sem janelas // color rgb < 1.00, 1.00, 1.00 > // // < 12.00, 30.00, 30.00 > // Vista Traseira // color rgb < 1.00, 1.00, 1.00 > // Vista Traseira } // Posicao da camera para nao perceber o quadriculado do gramado e para // conseguir o efeito da fonte de luz camera { location < 0.00, 15.00, -6.00 > // Vista Oficial look_at <6.00, 15.00, 4.00> // Vista Oficial // location < 14.00, 15.00, -15.00 > // Vista de frente // look_at < 14.00, 15.00, 0.00> // Vista de frente // location <-10, 15, 25> //==> Face lateral do predio, // look_at < 0.00, 15.00, 15.00 > // onde nao tem janelas // location <40, 15, 15> //==> Face lateral do predio, // look_at < 0.00, 15.00, 15.00 > // onde tem janelas -> bloco adjacente // location <12, 15, 45> // Visao da parte traseira // look_at <12, 15, 0> // do predio } ///////////////////////////////////////////////////////////////////////////////////// // Plano que representa o gramado sob o predio da Arquitetura. plane { y, 10 // Posiçaao 10 no eixo Y texture { pigment { checker color rgb <0.1, 0.85, 0.3> color rgb <0.2, 0.9, 0.2> } } } // Ceu azul ao fundo do cenario plane { y, 30 // Posiçao 30 no eixo Y texture { pigment { color rgb <0.22, 0.3, 0.82> } finish { ambient 1 diffuse 0} } texture { pigment { bozo turbulence .5 color_map { [0 color rgb <1, 1, 1>] [1 color rgb <1, 1, 1> filter 1] } } finish { ambient 1 diffuse 0 } scale <100, 25, 25> rotate <5, 45, 0> } } ////////////////////////////////////////////////////////////////////////////////////////// // Cor do Predio ==> AZUL #declare corDoPredio = rgb <1.5, 1.9, 2.5>; #declare branco = rgb <2.5, 2.5, 2.5>; // Predio da Arquitetura. #declare predio1 = difference { box { <2.00, 10.00, 10.00>, <18.00, 19.00, 20.00> pigment { color corDoPredio } } box { <9, 10, 18>, <18, 18, 21> pigment { color corDoPredio } // Fachada de tras do predio } box { <2.5, 10.00, 9.00>, <17.5, 18.00, 12.00> pigment { color branco } // Fachada da frente do predio } #declare indice = 0; // Espaços para o ar condicionado na face traseira #while (indice < 6) #declare contador = 0; #while (contador < 8) box{ < 2.75+indice, 10.75+contador, 19>, < 3.25+indice, 11.25+contador, 20.2> pigment { color corDoPredio } } #declare contador = contador + 2; #end #declare indice = indice + 1; #end } // Espaco para o ar condiocionado na face traseira #declare arCondicionado= #declare indice = 0; #while (indice < 6) #declare contador = 0; #while (contador < 8) box{ < 2.75+indice, 11.25+contador, 20>, < 3.25+indice, 11.35+contador, 20.2> // Espaços para o ar condicionado na face traseira pigment { color corDoPredio } } #declare contador = contador + 2; #end box { <3.4+indice, 10.5, 20>, <3.6+indice, 18.5, 20.1> // Detalhes de divisao na parede da face traseira pigment { color corDoPredio } } #declare indice = indice + 1; #end // Emenda entre os blocos principais e adjacente na face traseira #declare emenda = difference { box { <18, 10.00, 20.00>, <19, 19.00, 15.00> pigment { color corDoPredio } } box { <18, 10, 18>, <19, 18, 21> pigment { color corDoPredio } // Fachada de tras do predio } } // Predio adjacente #declare predio2 = union { difference { box { <19.00, 10.00, 10.00>, <24.50, 18.00, 20.00> pigment { color corDoPredio } // <0.42, 0.58, 0.88> ==> Clarear, azul calcinha } box { < 19.5, 16, 9.00>, < 20.8, 17, 13.00> pigment { color corDoPredio } // janela superior } box { < 19.5, 13, 9.00>, < 20.8, 14, 13.00> pigment { color corDoPredio } // janela inferior } #declare linha = 0; #while (linha < 8) box { // Janela menor da face traseira < 20, 10.5+linha, 21>, < 20.5, 11.5+linha, 18> pigment { color corDoPredio } } box { // Janela maior da face traseira < 21.5, 10.5+linha, 21>, < 23.5, 11.5+linha, 18> pigment { color corDoPredio } } #declare linha = linha + 2; #end } box { < 20.8, 10, 9.8>, < 21, 18, 10> pigment { color corDoPredio } // Barra de detalhes } box { < 24.1, 10, 9.8>, < 24.3, 18, 10> pigment { color corDoPredio } // Barra de detalhe } box { < 19, 18, 15>, < 24.5, 19.5, 20> pigment { color corDoPredio } // Suporte para elevar metade do telhado } } #declare escadariaTraseira = difference { box { < 10, 10, 20>, < 12, 18, 22> pigment { color corDoPredio } } box { <9 , 18, 20 >, <13 , 10, 21> pigment { color corDoPredio } } box { < 10.5, 10, 20>, < 11.5, 17, 25> pigment { color corDoPredio } } } #declare telhadoEscadariaTraseira = difference { box { <-1, -1, -1.0>, <1, 1, 1.0> pigment { color corDoPredio } } box { <-2, 0, -6>, <2, 6, 6> pigment { color corDoPredio } rotate <21.8, 0, 0> } box { <-0.9, -0.2, -1.4>, <0.9, 6, 1.4> pigment { color branco } rotate <21.8, 0, 0> } } ////////////////////////////////////////////////////////////////////////////////////////// // Janelas no telhado da face traseira #declare janelasDeTras = #declare contador = 0; #while (contador < 15) box { <2.55+contador, 21.65, 15> <3.45+contador, 21.2, 15.05> texture { T_Chrome_1D } } #declare contador = contador + 1; #end #declare janelaPredio2 = union { // Conjunto de tres janelas - inferior da frente box { < 24.51, 16, 10.5>, < 24.5, 17, 11.4> texture { T_Chrome_1D } } box { < 24.51, 16, 11.5>, < 24.5, 17, 12.4> texture { T_Chrome_1D } } box { < 24.51, 16, 12.5>, < 24.5, 17, 13.5> texture { T_Chrome_1D } } // Conjunto de tres janelas - inferior do fundo box { < 24.51, 16, 14.5>, < 24.5, 17, 15.4> texture { T_Chrome_1D } } box { < 24.51, 16, 15.5>, < 24.5, 17, 16.4> texture { T_Chrome_1D } } box { < 24.51, 16, 16.5>, < 24.5, 17, 17.5> texture { T_Chrome_1D } } // Conjunto de tres janelas - superior da frente box { < 24.51, 13, 10.5>, < 24.5, 14, 11.4> texture { T_Chrome_1D } } box { < 24.51, 13, 11.5>, < 24.5, 14, 12.4> texture { T_Chrome_1D } } box { < 24.51, 13, 12.5>, < 24.5, 14, 13.5> texture { T_Chrome_1D } } // Conjunto de tres janelas - superior do fundo box { < 24.51, 13, 14.5>, < 24.5, 14, 15.4> texture { T_Chrome_1D } } box { < 24.51, 13, 15.5>, < 24.5, 14, 16.4> texture { T_Chrome_1D } } box { < 24.51, 13, 16.5>, < 24.5, 14, 17.5> texture { T_Chrome_1D } } } ////////////////////////////////////////////////////////////////////////////////////////// // Parte mais alta do telhado #declare telhado1 = difference { box { <-10, -1.5, -2.5>, <6, 1.5, 2.5> pigment { color corDoPredio } } box { <-16, 0, -6>, <16, 6, 6> pigment { color corDoPredio } rotate <-30.96, 0, 0> } box { <-9.9, -0.2, -2.4>, <5.9, 6, 2.4> pigment { color branco } rotate <-30.96, 0, 0> } } //Parte mais baixa do telhado #declare telhado2 = difference { box { <-10, -1, -2.5>, <6, 1, 2.5> pigment { color corDoPredio } } box { <-16, 0, -6>, <16, 6, 6> pigment { color corDoPredio } rotate <21.8, 0, 0> } box { <-9.9, -0.2, -2.4>, <5.9, 6, 2.4> pigment { color branco } rotate <21.8, 0, 0> } } // Parte mais baixa do telhado #declare telhado1Predio2 = difference { box { <-2.5, -1.5, -2.5>, <3.0, 1.5, 2.5> pigment { color corDoPredio } } box { <-4.5, 0, -6>, <5.0, 6, 6> pigment { color corDoPredio } rotate <-30.96, 0, 0> } box { <-2.4, -0.6, -2.4>, <2.9, 6, 2.4> pigment { color branco } rotate <-30.96, 0, 0> } } //Parte mais alta do telhado #declare telhado2Predio2 = difference { box { <-2.5, -1, -2.5>, <3.0, 1, 2.5> pigment { color corDoPredio } } box { <-4.5, 0, -6>, <5, 6, 6> pigment { color corDoPredio } rotate <21.8, 0, 0> } box { <-2.4, -0.2, -2.4>, <2.9, 6, 2.4> pigment { color branco } rotate <21.8, 0, 0> } } ////////////////////////////////////////////////////////////////////////////////////////// // Divisoes horizontais dos 4 andares #declare linha = 0; #while (linha < 8) box { < 2.5, 10+linha, 11.00>, < 17.5, 10.45+linha, 12.00> pigment { color branco } // Parapeito branco -> frente } box { < 2.5, 10.45+linha, 11.00>, < 17.5, 10.9+linha, 11.50> // Parapeito azul -> frente pigment { color corDoPredio } } box { < 9, 10+linha, 18.50>, < 20, 10.45+linha, 19.5> pigment { color branco } // Parapeito branco -> tras } box { < 9, 10.45+linha, 18.50>, < 20, 10.9+linha, 19.0> // Parapeito azul -> tras pigment { color corDoPredio } } #declare linha = linha + 2; #end // Divisoes verticais das 15 salas #declare coluna = 1; #while (coluna < 15) box { < 2.45+coluna, 10.00, 10.50>, < 2.55+coluna, 18.00, 12.00> // Visao da frente pigment { color branco } } #declare coluna = coluna + 1; #end // Divisoes verticais das 15 salas #declare coluna = 1; #while (coluna < 15) box { < 9+coluna, 10.00, 18.50>, // Visao traseira < 9+coluna, 18.00, 20.00> pigment { color branco } } #declare coluna = coluna + 1; #end // Eixos para saber onde fica a origem. // ZX ==> y = 10 (Chao - Eixo Vermelho) // ZY ==> X = 0 (Eixo Verde) // XY ==> Z = 10 (Eixo Branco) #declare eixos_cartesianos = union { cylinder { <0.0, 10.2, 10.0>, <3.0, 10.2, 10.0>, 0.2 pigment { color rgb <0,1,0> } } cylinder { <0.0, 10.0, 10.0>, <0.0, 13.0, 10.0>, 0.2 pigment { color rgb <1,0,0> } } cylinder { <0.0 ,10.2, 10.0>, <0.0, 10.2, 13.0>, 0.2 pigment { color rgb <1,1,1> } } } //////////////////////////////////////////////////////////// // // Começa a desenhar as figuras definidas acima // // Desenha eixos cartesianos para termos uma referencia para os eixos x, y, e z. object { eixos_cartesianos } // Desenha bloco principal do predio object { predio1 } object { predio2 } object { emenda } object { escadariaTraseira } object { telhadoEscadariaTraseira translate < 11, 18.5, 21> } object { janelaPredio2 } object { janelasDeTras} // Desenha telhado do predio. // Parte mais alta do telhado object { telhado1 translate <12, 20.5, 12.5> } // Parte mais baixa do telhado object { telhado2 translate <12, 20, 17.5> } object { telhado1Predio2 translate < 21.5, 19.5, 12.5> } object { telhado2Predio2 translate < 21.5, 20.5, 17.5> }