// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2000-09-21 20:06:05 by stolfi #include "colors.inc" #include "textures.inc" #include "woods.inc" background { color Gray25 } //to make the patch easier to see plane { <0, 0, 1>, -6 pigment { checker color Red, color Blue } } light_source { < 0.00, 80.00, 20.00 > color rgb < 1.00, 1.00, 1.00 > } light_source { <20.0,80,0> color rgb <1,1,1> } camera { location < 0.00, 60.00, 0.00 > right 2* < -1.20, 0.00, 0.00 > up 2* < 0.00, 0.00, 0.90 > sky < 0.00, 0.00, 1.00 > look_at < 0.00, 0.00, 0.00 > } #declare tinta_A = texture { pigment { color rgb <1,1,0.6> } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 0.7529, 0.8078, 0.6627 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tex = texture { DMFWood6 } #declare estrutura = difference { box { <-13,-5,-15>, <13,13,15> texture {tinta_A} } box {<-12,-5,-15>,<12,13,-13> texture {tinta_B} } } #declare estrutura = difference { difference { prism { linear_sweep linear_spline 0, // sweep the following shape from here ... 40, // ... up through here 6, // the number of points making up the shape ... <-14,-5>, <-14,13>, <0,17>,<14,13>,<14,-5>,<-14,-5> pigment { color rgb <1,1,0.6> } } prism { linear_sweep linear_spline 39.5, // sweep the following shape from here ... 40.2, // ... up through here 6, // the number of points making up the shape ... <-13,-5>, <-13.0,12.0>, <0,15.8>,<13.0,12>,<13,-5>,<-13,-5> pigment { color rgb <1,1,0.6> } } }//difference prism { linear_sweep linear_spline 39, // sweep the following shape from here ... 40.2, // ... up through here 6, // the number of points making up the shape ... <-12.5,-5>, <-12.5,11.5>, <0,15.3>,<12.5,11.5>,<12.5,-5>,<-12.5,-5> pigment { color rgb <1,1,0.6> } } prism { linear_sweep linear_spline 38.5, // sweep the following shape from here ... 40.2, // ... up through here 6, // the number of points making up the shape ... <-4,1>, <-4,13.5>, <0,14.7>,<4,13.5>,<4,1>,<-4,1> // pigment { color rgb <1,1,0.6> } } } #declare porta = union { prism { linear_sweep linear_spline 38.5, // sweep the following shape from here ... 39.2, // ... up through here 5, // the number of points making up the shape ... <-2.3,-2>, <0,-2>, <-0,2>,<-2.3,2>,<-2.3,-2> texture {P_WoodGrain11A } } prism { linear_sweep linear_spline 38.5, // sweep the following shape from here ... 39.2, // ... up through here 5, // the number of points making up the shape ... <2.3,-2>, <0,-2>, <0,2>,<2.3,2>,<2.3,-2> texture {P_WoodGrain11A } } //entre as duas portas... prism { linear_sweep linear_spline 38.5, // sweep the following shape from here ... 39.25, // ... up through here 5, // the number of points making up the shape ... <-0.05,-2>, <0.05,-2>, <0.05,2>,<-0.05,2>,<-0.05,-2> pigment {color Black} } } #declare buraco = //buracos do detalhe cilindrico box{ <-0.40,-1,-0.15>, <0.40,1,0.15> } #declare detalhe_cilindrico = cylinder { <0,40,-5>, <0,40,0.5>, 3 pigment { color rgb <1,1,0.6> } } #declare estrutura = union{ object{estrutura} object{porta translate <-7,0,-3>} object{porta translate <7,0,-3>} } //subtraindo os buracos do detalhe cilindrico //buraco 1 #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,20> translate <0.5,43.5,0>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,20> translate <0.5,43.5,-1>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,20> translate <0.5,43.5,-2>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,20> translate <0.5,43.5,-3>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,20> translate <0.5,43.5,-4>} } //buraco 2 #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,30> translate <1.7,43,0>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,30> translate <1.7,43,-1>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,30> translate <1.7,43,-2>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,30> translate <1.7,43,-3>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,30> translate <1.7,43,-4>} } //buraco 3 #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-20> translate <-0.5,43.5,0>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-20> translate <-0.5,43.5,-1>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-20> translate <-0.5,43.5,-2>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-20> translate <-0.5,43.5,-3>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-20> translate <-0.5,43.5,-4>} } //buraco 4 #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-30> translate <-1.7,43,0>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-30> translate <-1.7,43,-1>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-30> translate <-1.7,43,-2>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-30> translate <-1.7,43,-3>} } #declare detalhe_cilindrico = difference{ object{detalhe_cilindrico} object{buraco rotate<0,0,-30> translate <-1.7,43,-4>} } #declare janela = box{ <-0.45,-0.3,-0.7>, <0.45,0.3,0.7> texture {Vicks_Bottle_Glass } } #declare janela_trapezio = prism { linear_sweep linear_spline -0.3, // sweep the following shape from here ... 0.3, // ... up through here 5, // the number of points making up the shape ... <-0.45,-0.7>, <-0.45,1.2>, <0.45,0.7>,<0.45,-0.7>,<-0.45,-0.7> texture { Vicks_Bottle_Glass } } //colocando as janelas do lado esquerdo #declare estrutura = union { object{estrutura} //1. fileira object{janela translate <8.9,38.75,2>} object{janela translate <7.6,38.75,2>} object{janela translate <6.3,38.75,2>} object{janela translate <5.0,38.75,2>} //2. fileira object{janela translate <8.9,38.75,3.8>} object{janela translate <7.6,38.75,3.8>} object{janela translate <6.3,38.75,3.8>} object{janela translate <5.0,38.75,3.8>} //3. fileira object{janela translate <8.9,38.75,5.6>} object{janela translate <7.6,38.75,5.6>} object{janela translate <6.3,38.75,5.6>} object{janela translate <5.0,38.75,5.6>} //4. fileira object{janela translate <8.9,38.75,7.4>} object{janela translate <7.6,38.75,7.4>} object{janela translate <6.3,38.75,7.4>} object{janela translate <5.0,38.75,7.4>} //5. fileira - janela trapezio object{janela_trapezio scale <1,1,1> translate <8.9,38.75,9.2> } object{janela_trapezio scale <1,1,1.25> translate <7.6,38.75,9.3> } object{janela_trapezio scale <1,1,1.5> translate <6.3,38.75,9.6>} object{janela_trapezio scale <1,1,1.75> translate <5.0,38.75,9.8>} } //colocando as janelas do lado direito #declare estrutura = union { object{estrutura} //1. fileira object{janela translate <-8.9,38.75,2>} object{janela translate <-7.6,38.75,2>} object{janela translate <-6.3,38.75,2>} object{janela translate <-5.0,38.75,2>} //2. fileira object{janela translate <-8.9,38.75,3.8>} object{janela translate <-7.6,38.75,3.8>} object{janela translate <-6.3,38.75,3.8>} object{janela translate <-5.0,38.75,3.8>} //3. fileira object{janela translate <-8.9,38.75,5.6>} object{janela translate <-7.6,38.75,5.6>} object{janela translate <-6.3,38.75,5.6>} object{janela translate <-5.0,38.75,5.6>} //4. fileira object{janela translate <-8.9,38.75,7.4>} object{janela translate <-7.6,38.75,7.4>} object{janela translate <-6.3,38.75,7.4>} object{janela translate <-5.0,38.75,7.4>} //5. fileira - janela trapezio object{janela_trapezio scale <1,1,1> rotate <0,0,180> translate <-8.9,38.75,9.2> } object{janela_trapezio scale <1,1,1.25> rotate <0,0,180> translate <-7.6,38.75,9.3> } object{janela_trapezio scale <1,1,1.5> rotate <0,0,180> translate <-6.3,38.75,9.6>} object{janela_trapezio scale <1,1,1.75> rotate <0,0,180> translate <-5.0,38.75,9.8>} } #declare detalhe_central = union { difference { cylinder{ <0,0,0>, <0,1,0>, 0.3 pigment { color rgb <1,1,0.6> } } cylinder{ <0,0,0>, <0,1.1,0>, 0.2 pigment { color rgb <1,1,0.6> } } } difference { cylinder{ <0,0,0.5>, <0,1,0.5>, 0.3 pigment { color rgb <1,1,0.6> } } cylinder{ <0,0,0.5>, <0,1.1,0.5>, 0.2 pigment { color rgb <1,1,0.6> } } } difference { cylinder{ <0,0,1>, <0,1,1>, 0.3 pigment { color rgb <1,1,0.6> } } cylinder{ <0,0,1>, <0,1.1,1>, 0.2 pigment { color rgb <1,1,0.6> } } } } #declare barras_verticais = prism { linear_sweep linear_spline 38.0, // sweep the following shape from here ... 39, // ... up through here 5, // the number of points making up the shape ... <-0.11,0>, <-0.11,13.5>, <0.11,13.5>,<0.11,0>,<-0.11,0> pigment { color rgb <1,1,0.6> } } object {estrutura } object {detalhe_cilindrico} //object {detalhe_central translate <0,40,5> } object {barras_verticais translate <0.8,0,1>} object {barras_verticais translate <2.5,0,1>} object {barras_verticais translate <-0.8,0,1>} object {barras_verticais translate <-2.5,0,1>}