// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_texto = texture{ pigment{ color rgb < 1, 0.75, 0.85 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_pedestal = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_tapete = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_red = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_bandeira = texture{ uv_mapping pigment{ image_map { jpeg "Inglaterra.jpg"} } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_piso = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare tx_anuncio = texture{ pigment{ image_map { jpeg "spfc.jpg"} scale (2.5) rotate 90*z translate <1.25,1.3,0>} finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare tx_vidro = texture{ pigment{ color rgb < 1, 1, 1.00 > filter 1} finish{ diffuse 0.03 reflection 0.0 ambient 0.02 specular 0.25 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA #declare raio = 1.000; // Partes da cena: #macro predio () union { box {<4,4,0>, <-4,-4,15>} } #end #macro janela (dy, h) union { box {<5.5,1,0>, <-5.5,-1,1>} translate <0,dy,h> } #end #macro haste (dx, dy, h) union { box {<0.15,0.15,-1>, <-0.15,-0.15,3>} translate texture {tx_red} } #end #macro anuncio (dx, dy, h) union { box {<3,3,0.05>, <-3,-3,-0.05>} texture {tx_anuncio} rotate 90*y translate <4,0,5> } #end #include "eixos.inc" #include "retalho.inc" // Aqui está a cena, finalmente: union { // object{ eixos(3.00) } //grade de um lado das partes do aviao #local traseira12 = <0,0,0.9>; #local traseira13 = <0,0,0.15>; #local traseira11 = <0,traseira12.y, traseira12.z >; #local traseira14 = <0,traseira13.y, traseira13.z >; #local traseira22 = <0.5,0.25,2.25>; #local traseira23 = <0.5,0.25,0.25>; #local traseira21 = <0,traseira22.y, traseira22.z >; #local traseira24 = <0,traseira23.y, traseira23.z >; #local traseira32 = <0.5,0.5,0.7>; #local traseira33 = <0.5,0.5,0.25>; #local traseira31 = <0,traseira32.y, traseira32.z >; #local traseira34 = <0,traseira33.y, traseira33.z >; #local meio22 = <1,2.5,1.25>; #local meio23 = <1,2.5,0.0>; #local meio21 = <0,meio22.y, meio22.z>; #local meio24 = <0,meio23.y, meio23.z>; #local meio32 = <0.75,3.25,1.3>; #local meio33 = <0.75,3.25,-0.05>; #local meio31 = <0,meio32.y, meio32.z>; #local meio34 = <0,meio33.y, meio33.z>; #local frente22 = <0.5,4.25,0.7>; #local frente23 = <0.5,4.25,0.15>; #local frente21 = <0,frente22.y,frente22.z>; #local frente24 = <0,frente23.y,frente23.z>; #local frente32 = <0.25,4.5,0.55>; #local frente33 = <0.25,4.5,0.2>; #local frente31 = <0,frente32.y,frente32.z>; #local frente34 = <0,frente33.y,frente33.z>; #local frente42 = <0,4.8,0.375>; #local frente43 = <0,4.8,0.275>; #local frente41 = <0,frente42.y,frente42.z>; #local frente44 = <0,frente43.y,frente43.z>; #local frente11 = (meio31+frente21)/2; #local frente12 = (meio32+frente22)/2; #local frente13 = (meio33+frente23)/2; #local frente14 = (meio34+frente24)/2; #local meio41 = frente11; #local meio42 = frente12; #local meio43 = frente13; #local meio44 = frente14; #local traseira41 = (traseira31+meio21)/2; #local traseira42 = (traseira32+meio22)/2; #local traseira43 = (traseira33+meio23)/2; #local traseira44 = (traseira34+meio24)/2; #local meio11 = traseira41; #local meio12 = traseira42; #local meio13 = traseira43; #local meio14 = traseira44; //grade das partes do outro lado do aviao #local traseirad12 = <0,0,0.9>; #local traseirad13 = <0,0,0.15>; #local traseirad11 = <0,traseirad12.y, traseirad12.z >; #local traseirad14 = <0,traseirad13.y, traseirad13.z >; #local traseirad22 = <-0.5,0.25,2.25>; #local traseirad23 = <-0.5,0.25,0.25>; #local traseirad21 = <0,traseirad22.y, traseirad22.z >; #local traseirad24 = <0,traseirad23.y, traseirad23.z >; #local traseirad32 = <-0.5,0.5,0.7>; #local traseirad33 = <-0.5,0.5,0.25>; #local traseirad31 = <0,traseirad32.y, traseirad32.z >; #local traseirad34 = <0,traseirad33.y, traseirad33.z >; #local meiod22 = <-1,2.5,1.25>; #local meiod23 = <-1,2.5,0.0>; #local meiod21 = <0,meiod22.y, meiod22.z>; #local meiod24 = <0,meiod23.y, meiod23.z>; #local meiod32 = <-0.75,3.25,1.3>; #local meiod33 = <-0.75,3.25,-0.05>; #local meiod31 = <0,meiod32.y, meiod32.z>; #local meiod34 = <0,meiod33.y, meiod33.z>; #local frented22 = <-0.5,4.25,0.7>; #local frented23 = <-0.5,4.25,0.15>; #local frented21 = <0,frented22.y,frented22.z>; #local frented24 = <0,frented23.y,frented23.z>; #local frented32 = <-0.25,4.5,0.55>; #local frented33 = <-0.25,4.5,0.2>; #local frented31 = <0,frented32.y,frented32.z>; #local frented34 = <0,frented33.y,frented33.z>; #local frented42 = <0,4.8,0.375>; #local frented43 = <0,4.8,0.275>; #local frented41 = <0,frented42.y,frented42.z>; #local frented44 = <0,frented43.y,frented43.z>; #local frented11 = (meiod31+frented21)/2; #local frented12 = (meiod32+frented22)/2; #local frented13 = (meiod33+frented23)/2; #local frented14 = (meiod34+frented24)/2; #local meiod41 = frented11; #local meiod42 = frented12; #local meiod43 = frented13; #local meiod44 = frented14; #local traseirad41 = (traseirad31+meiod21)/2; #local traseirad42 = (traseirad32+meiod22)/2; #local traseirad43 = (traseirad33+meiod23)/2; #local traseirad44 = (traseirad34+meiod24)/2; #local meiod11 = traseirad41; #local meiod12 = traseirad42; #local meiod13 = traseirad43; #local meiod14 = traseirad44; //Instanciando as partes do aviao union { //lado 1 retalho( traseira11,traseira12,traseira13,traseira14, traseira21,traseira22,traseira23,traseira24, traseira31,traseira32,traseira33,traseira34, traseira41,traseira42,traseira43,traseira44, 0.01, tx_vidro,tx_pedestal) retalho( meio11,meio12,meio13,meio14, meio21,meio22,meio23,meio24, meio31,meio32,meio33,meio34, meio41,meio42,meio43,meio44, 0.01, tx_vidro,tx_pedestal) retalho( frente11,frente12,frente13,frente14, frente21,frente22,frente23,frente24, frente31,frente32,frente33,frente34, frente41,frente42,frente43,frente44, 0.01, tx_vidro,tx_pedestal) //lado 2 retalho( traseirad11,traseirad12,traseira13,traseirad14, traseirad21,traseirad22,traseirad23,traseirad24, traseirad31,traseirad32,traseirad33,traseirad34, traseirad41,traseirad42,traseirad43,traseirad44, 0.01, tx_vidro,tx_pedestal) retalho( meiod11,meiod12,meiod13,meiod14, meiod21,meiod22,meiod23,meiod24, meiod31,meiod32,meiod33,meiod34, meiod41,meiod42,meiod43,meiod44, 0.01, tx_vidro,tx_pedestal) retalho( frented11,frented12,frented13,frented14, frented21,frented22,frented23,frented24, frented31,frented32,frented33,frented34, frented41,frented42,frented43,frented44, 0.01, tx_vidro,tx_pedestal) } //asa union { object { cylinder{ < -3.00, +2.750, +0.5 >, < +3.00, +2.750, +0.5 >, 0.15 texture{ tx_pedestal } } } object { cylinder{ < -3.00, +2.250, +0.5 >, < +3.00, +2.250, +0.5 >, 0.15 texture{ tx_pedestal } } } object { box{ < -3.0, +2.250, +0.35 >, < +3.0, +2.750, +0.65 > texture{ tx_pedestal } } } } //ajeita a escala e a localizacao da cena scale (1.8) translate <0,-3,0> rotate -30*z } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 10.0; #declare dir_camera = <7.00,5.00, 2.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)