// MC930 - Exemplo de main.pov para o trabalho final // Last edited on 2000-12-14 09:07:40 by mc726 #include "colors.inc" #include "stones.inc" #include "glass.inc" #include "woods.inc" #declare EspessuraParedes = 2 // Criando as Janelas da Entrada Central #declare xJanEntrada = 6 #declare zJanEntrada = 20 #declare yJanEntrada = EspessuraParedes + 0.1 #declare DistanciaDoChaoDaJanelaDaEntradaCentral = 10 // CÂMARA camera { location <-20,-60,20> right < 0.00, 1.00, 0.00 > up < 0.00, 0.00, 1.00 > sky z look_at <25,0,10> // angle 30 } // ILUMINAÇÃO light_source { <1000,-1000,1000> White} // FUNDO background{ SkyBlue } // EIXOS #declare eixos_cartesianos = union { cylinder { <0,0,0>, <100,0,0>, 0.1 pigment { color rgb <1,0,0> } } cylinder { <0,0,0>, <0,100,0>, 0.1 pigment { color rgb <0,1,0> } } cylinder { <0,0,0>, <0,0,100>, 0.1 pigment { color rgb <0,0,1> } } } #default{ texture{ pigment{color red 0.91 green 0.5686 blue 0.4941} finish{ambient 0.4} } } //camera { // location <2,-30,4> // up <0,0,1> // right <1,0,0> // sky z // look_at <4,0,5> // angle 20 //} //background { SkyBlue } //light_source { <10, -10, 10> White } //light_source { <-5, -5, 10> White } #declare MolduraJanela = union{ box{<-1,-1,-1><0.6,1,1>} box{<0.6,-0.9,-1><0.8,0.9,1> } box{<0.8,-0.7,-1><1,0.7,1> } cylinder{<0.8,0.7,-1><0.8,0.7,1> 0.2 } cylinder{<0.8,-0.7,-1><0.8,-0.7,1> 0.2 } scale <0.5,0.5,0.5> } #declare RipaVerJanEntrada = difference{ union{ box {<0,0,0><(xJanEntrada/16)*0.8,yJanEntrada,zJanEntrada>} box {<(xJanEntrada/16)*0.8,yJanEntrada*0.1,0><(xJanEntrada/16)*0.9,yJanEntrada*0.9,zJanEntrada>} box {<(xJanEntrada/16)*0.9,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0><(xJanEntrada/16)*1.0,yJanEntrada*0.9-(xJanEntrada/16)*0.1,zJanEntrada>} cylinder { <0,0,0>, <0,0,zJanEntrada>, (xJanEntrada/16)*0.1 translate <(xJanEntrada/16)*0.9,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0>} cylinder { <0,0,0>, <0,0,zJanEntrada>, (xJanEntrada/16)*0.1 translate <(xJanEntrada/16)*0.9,yJanEntrada*0.9-(xJanEntrada/16)*0.1,0>} } box{<0,-yJanEntrada,0><3,-yJanEntrada*2,3> rotate<0,45,0>interior {ior 1.6}} } // #declare RipaVerJanEntrada #declare RipaHorJanEntrada = difference{ object {RipaVerJanEntrada rotate <0,-90,180>translate <0,yJanEntrada,0>} box{<0,-yJanEntrada,0><2*xJanEntrada,2*yJanEntrada,2*xJanEntrada> rotate<0,-45,0> translate } box{} } #declare ArcoJanEntrada = union{ difference{ union{ difference{ cylinder{<0,0,0><0,yJanEntrada,0> xJanEntrada/4 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> xJanEntrada/4-(xJanEntrada/16)*0.8 } } difference{ cylinder{<0,yJanEntrada*0.1,0><0,yJanEntrada*0.9,0> xJanEntrada/4-(xJanEntrada/16)*0.8 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> xJanEntrada/4-(xJanEntrada/16)*0.9 } } difference{ cylinder{<0,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0><0,yJanEntrada*0.9-(xJanEntrada/16)*0.1,0> xJanEntrada/4-(xJanEntrada/16)*0.9 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> xJanEntrada/4-(xJanEntrada/16)*1.0 } } torus{xJanEntrada/4-(xJanEntrada/16)*0.9, (xJanEntrada/16)*0.1 translate <0,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0> } torus{xJanEntrada/4-(xJanEntrada/16)*0.9, (xJanEntrada/16)*0.1 translate <0,yJanEntrada*0.9-(xJanEntrada/16)*0.1,0> } } box{<-5*xJanEntrada,-5*yJanEntrada,-5*xJanEntrada><5*xJanEntrada,5*yJanEntrada,0>} box{<0,-5*yJanEntrada,0><5*xJanEntrada,5*yJanEntrada,5*xJanEntrada> rotate <0,47.1,0> translate <0,0,xJanEntrada/4>} box{<0,-5*yJanEntrada,0><5*xJanEntrada,5*yJanEntrada,5*xJanEntrada> translate } translate } difference{ union{ difference{ cylinder{<0,0,0><0,yJanEntrada,0> 2*xJanEntrada/4 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> 2*xJanEntrada/4-(xJanEntrada/16)*0.8 } } difference{ cylinder{<0,yJanEntrada*0.1,0><0,yJanEntrada*0.9,0> 2*xJanEntrada/4-(xJanEntrada/16)*0.8 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> 2*xJanEntrada/4-(xJanEntrada/16)*0.9 } } difference{ cylinder{<0,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0><0,yJanEntrada*0.9-(xJanEntrada/16)*0.1,0> 2*xJanEntrada/4-(xJanEntrada/16)*0.9 } cylinder{<0,-0.1,0><0,yJanEntrada+0.1,0> 2*xJanEntrada/4-(xJanEntrada/16)*1.0 } } torus{2*xJanEntrada/4-(xJanEntrada/16)*0.9, (xJanEntrada/16)*0.1 translate <0,yJanEntrada*0.1+(xJanEntrada/16)*0.1,0> } torus{2*xJanEntrada/4-(xJanEntrada/16)*0.9, (xJanEntrada/16)*0.1 translate <0,yJanEntrada*0.9-(xJanEntrada/16)*0.1,0> } } box{<0,-5*yJanEntrada,-5*xJanEntrada><5*xJanEntrada,5*yJanEntrada,0>rotate<0,47,0> translate<-xJanEntrada/2,0,0>} box{<0,-5*yJanEntrada,-10><5*xJanEntrada,5*yJanEntrada,0>} box{<-xJanEntrada/4+0.000000001,-5*yJanEntrada,-10*xJanEntrada><5*xJanEntrada,5*yJanEntrada,5*xJanEntrada>} translate } } #declare VidrosJanEntrada=union{ difference{ union{ prism {linear_sweep linear_spline 0,yJanEntrada/10, 10, <0,0>, <0,zJanEntrada-(xJanEntrada/16)>, , ,<0,0> // sub-shape #1 , , , , // sub-shape #2 translate < 0,(yJanEntrada-yJanEntrada/10)/2,0> } box{<0,0,0><(xJanEntrada/2-3*xJanEntrada/16),yJanEntrada/20,xJanEntrada/32> translate } } box{<0,0,0> translate texture{ T_Glass3}} } box{<0,0,0> translate texture{ T_Glass1}} box{<0,0,0> translate texture{ T_Glass1}} } #declare Janela = union{ object {RipaVerJanEntrada } object {RipaVerJanEntrada rotate <0,0,180>translate } object {RipaHorJanEntrada } object {ArcoJanEntrada} object {ArcoJanEntrada rotate <0,0,180>translate } texture {T_Wood10} translate <0,yJanEntrada*1.5,0> } object {VidrosJanEntrada texture {T_Wood10}} //object {VidrosJanEntrada translate texture {T_Wood10}} object{Janela} #declare JanelaEntrada = union{ box{<-4,-3,0><4,3,20> pigment { color rgb <0,0,1> } } difference{ cylinder{<0,-3,0><0,3,0> 4 pigment { color rgb <1,0,0> } } box{<-5,-5,0><5,5,-5>pigment { color rgb <1,1,0> } } translate <0,0,20> } difference{ cylinder{<0,-3,0><0,3,0> 4 pigment { color rgb <1,0,0> } } box{<-5,-5,-5><2,5,5>pigment { color rgb <1,1,0> } } translate <-2,0,24> } difference{ cylinder{<0,-3,0><0,3,0> 4 pigment { color rgb <1,0,0> } } box{<5,-5,-5><-2,5,5>pigment { color rgb <1,1,0> } } translate <2,0,24> } } #declare casa = union{ difference{ box{ <0,0,0> <60,50,40>} box{<2,2,-1><58,48,41> pigment { color rgb <1,0,0> }} } object{JanelaEntrada translate <7,0,10>} object{JanelaEntrada translate <7+10,0,10>} object{JanelaEntrada translate <53,0,10>} object{JanelaEntrada translate <53-10,0,10>} } box{<0,0,0><12,3,30> pigment { color rgb <0,0,1> } translate <24,-1,0>} object { eixos_cartesianos } object { casa translate <0,3*yJanEntrada,0>} prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> pigment { gradient y scale .2 } rotate <-90,0,0> scale <7.5,6.25,4> translate<30,25,40> }