// 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 = 8 #declare zJanEntrada = 20 #declare yJanEntrada = EspessuraParedes + 0.1 #declare DistanciaDoChaoDaJanelaDaEntradaCentral = 10 // CÂMARA camera { // location <10,-60,20> location <-20,-60,20> right < 0.00, 1.00, 0.00 > up < 0.00, 0.00, 1.00 > sky z //look_at <10,0,20> 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 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 } object {VidrosJanEntrada rotate <0,0,-15> translate } object {VidrosJanEntrada translate } texture {T_Wood10} } #declare JanelaEntrada = union{ box{<-4,-5,0><4,5,20> } difference{ cylinder{<0,-3,0><0,3,0> 2 } box{<-5,-5,0><5,5,-5>} translate <-2,0,20> } difference{ cylinder{<0,-3,0><0,3,0> 2 } box{<-5,-5,0><5,5,-5>} translate <2,0,20> } difference{ cylinder{<0,-3,0><0,3,0> 4 } box{<-5,-5,-5><2,5,5> } translate <-2,0,22> } difference{ cylinder{<0,-3,0><0,3,0> 4 } box{<5,-5,-5><-2,5,5>} translate <2,0,22> } } #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>} } object{Janela translate <7/2,0,10>} object{Janela translate <7/2+10,0,10>} object{Janela translate <53-7/2,0,10>} object{Janela translate <53-7/2-10,0,10>} } #declare xx=0; #while (xx<30) sphere { 0.1 pigment {color Green}} #declare xx =xx+1; #end object { eixos_cartesianos } object { casa } 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> }