// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2017-05-07 20:10:09 by stolfilocal // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.20, 0.40, 0.60 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_alt = texture{ pigment{ color rgb < 0.10, 0.40, 0.20 > transmit 0.91 } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_alt2 = texture{ pigment{ color rgb < 0.70, 0.40, 0.50 > transmit 0.81 } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.50, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 3.0 } #declare Red = texture{ pigment { color rgb <1.00, 0, 0 > } finish {diffuse 0.9 ambient 0.1} } // ====================================================================== // DESCRIÇÃO DA CENA #include "retalho-simples.inc" //gerar 6 retalhos, cada um com 16 pontos (array[4][4]) #declare raio = 1.500; #declare chao = box{ <-9,-12,-1>, <+9.0,+12,0> } #declare nh = 3; //retalhos na horizontal #declare nv = 2; //retalhos na vertical #declare pfl = array[4][4] { /*4*/{<6,8,1>,<6,8,3>,<-2,8,5>,<-6,8,5>}, //<1,8,2>,<-1,8,2>,<3,8,2>,<-3,8,2> /*1*/{<6,6,1>, <6,6,3>,<-2,6,5>,<-6,6,5>},// {<2.5,6,5>,<-2.5,6,5>,<3.5,6,7>,<-3.5,6,5>} 2,3,1,4 === 3,1,2,4 >>> /*2*/ {<6,2,1>,<6,2,3>,<-2,2,5>,<-6,2,5>}, //<2,2,6>,<-2,2,6>,<4.5,2,6>,<-4.5,2,6> 3,1,2,4 >> 2,1,3,4 /*3*/ {<6,2,1>,<6,2,3>,<-2,2,1>,<-6,2,1>} //<3,2,1>,<-3,2,1>,<4,2,1>,<-4,2,1> 2,1,3,4 >> 1,2,3,4 } #declare pfr = array[4][4] { /*4*/{<6,8,5>,<2,8,5>,<-6,8,3>,<-6,8,1>}, //<1,8,2>,<-1,8,2>,<3,8,2>,<-3,8,2> /*1*/{<6,6,5>, <2,6,5>,<-6,6,3>,<-6,6,1>},// {<2.5,6,5>,<-2.5,6,5>,<3.5,6,7>,<-3.5,6,5>} 2,3,1,4 === 3,1,2,4 >>> /*2*/ {<6,2,5>,<2,2,5>,<-6,2,3>,<-6,2,1>}, //<2,2,6>,<-2,2,6>,<4.5,2,6>,<-4.5,2,6> 3,1,2,4 >> 2,1,3,4 /*3*/ {<6,2,1>,<2,2,1>,<-6,2,3>,<-6,2,1>} //<3,2,1>,<-3,2,1>,<4,2,1>,<-4,2,1> 2,1,3,4 >> 1,2,3,4 } #declare p = array[4][4] { /*4*/{<6,8,5>,<2,8,5>,<-2,8,5>,<-6,8,5>}, //<1,8,2>,<-1,8,2>,<3,8,2>,<-3,8,2> /*1*/{<6,6,5>, <2,6,5>,<-2,6,5>,<-6,6,5>},// {<2.5,6,5>,<-2.5,6,5>,<3.5,6,7>,<-3.5,6,5>} 2,3,1,4 === 3,1,2,4 >>> /*2*/ {<6,2,5>,<2,2,5>,<-2,2,5>,<-6,2,5>}, //<2,2,6>,<-2,2,6>,<4.5,2,6>,<-4.5,2,6> 3,1,2,4 >> 2,1,3,4 /*3*/ {<6,2,1>,<2,2,1>,<-2,2,1>,<-6,2,1>} //<3,2,1>,<-3,2,1>,<4,2,1>,<-4,2,1> 2,1,3,4 >> 1,2,3,4 } /* {<1,0,8>,<-1,0,8>,<3,0,8>,<-3,0,8>}, {<2.5,1,1>,<-2.5,1,1>,<3.5,1,1>,<-3.5,1,1>}, {<4.5,2,2>,<-4.5,2,2>,<2,2,2>,<-2,2,2>}, {<3,2,1>,<-3,2,1>,<4,2,1>,<-4,2,1>} */ #declare pp = array[nv][nh][4][4]; #for (i,0,nv-1) #for(j,0,nh-1) #for(k,0,3) #for(l,0,3) #declare pp[i][j][k][l] = <1,0,-1>; #end #end #end #end //definir matriz p[nv][nh][4][4] #macro carroceria(pp, nh,nv) #end #include "eixos.inc" // Aqui está a cena, finalmente: object { eixos(4.00) translate <-6,0,-5> scale 2} //red axis = x, green = y, blue axis = z , // object {retalho(p, 0.05, tx_plastico, tx_fosca) } object {retalho(p, 0.05, tx_plastico, tx_fosca) translate <0,-16,0> rotate <0,0,180>} union { object {retalho(pfl, 0.05, tx_plastico, tx_fosca) } object {retalho(pfr, 0.05, tx_plastico, tx_fosca) translate <0,-16,0> rotate <0,0,180>} translate <12,0,0> } union { object {retalho(pfl, 0.05, tx_plastico, tx_fosca) } object {retalho(pfr, 0.05, tx_plastico, tx_fosca) translate <0,-16,0> rotate <0,0,180>} rotate <0,0,180> translate <-12,16,0> } /* #for(i,1,3) #for(j,1,2) object {retalho(p, 0.05, tx_plastico, tx_fosca) translate } #end #end */ //object {retalho(p, 0.05, tx_plastico, tx_fosca) } //object {retalho(p, 0.05, tx_plastico, tx_fosca) translate<12,0,0> } /*object { sphere{pp[0][1][1][1], 0.2 texture{tx_plastico} } } */ #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 32.0; #declare dir_camera = < 24.00, 18.00, 10.00 >; #declare dist_camera = 4*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)