// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2020-09-30 19:57:13 by jstolfi // ====================================================================== // CORES E TEXTURAS #declare s = seed(1); background{ color rgb < 0.5, 0.5, 0.5 > } #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_fosca = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = 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 } // ====================================================================== // DESCRI��O DA CENA #include "retalho.inc" #declare p = array[4][4] /*#for (i,0,3) #for (j,0,3) #declare p[i][j] = ; #end #end*/ #declare p[0][0] = <0,0,1>; #declare p[0][1] = <0,1,1>; #declare p[0][2] = <0,2,1>; #declare p[0][3] = <0,3,1>; #declare p[1][0] = <1,0,2>; #declare p[1][1] = <1,1,2>; #declare p[1][2] = <1,2,2>; #declare p[1][3] = <1,3,2>; #declare p[2][0] = <2,0,0>; #declare p[2][1] = <2,1,0>; #declare p[2][2] = <2,2,0>; #declare p[2][3] = <2,3,0>; #declare q = array[4][4]; #declare q[1][0] = <3,0,4>; #declare q[1][1] = <3,1,4>; #declare q[1][2] = <3,2,4>; #declare q[1][3] = <3,3,4>; #declare q[2][0] = <5,0,2>; #declare q[2][1] = <5,1,2>; #declare q[2][2] = <5,2,2>; #declare q[2][3] = <5,3,2>; #declare q[3][0] = <6,0,6>; #declare q[3][1] = <6,1,6>; #declare q[3][2] = <6,2,6>; #declare q[3][3] = <6,3,6>; #declare r = array[4][4]; #declare r[0][0] = <4,4,4>; #declare r[0][1] = <5,4,4>; #declare r[0][2] = <6,4,4>; #declare r[0][3] = <7,4,4>; #declare r[1][0] = <4,5,5>; #declare r[1][1] = <5,5,5>; #declare r[1][2] = <6,5,5>; #declare r[1][3] = <7,5,5>; #declare r[2][0] = <4,6,4>; #declare r[2][1] = <5,6,4>; #declare r[2][2] = <6,6,4>; #declare r[2][3] = <7,6,4>; #declare r[3][0] = <4,7,5>; #declare r[3][1] = <5,7,5>; #declare r[3][2] = <6,7,5>; #declare r[3][3] = <7,7,5>; #declare p[3][0] = (p[2][0]+q[1][0])/2; #declare p[3][1] = (p[2][1]+q[1][1])/2; #declare p[3][2] = (p[2][2]+q[1][2])/2; #declare p[3][3] = (p[2][3]+q[1][3])/2; #declare q[0][0] = p[3][0]; #declare q[0][1] = p[3][1]; #declare q[0][2] = p[3][2]; #declare q[0][3] = p[3][3]; #declare r[0][0] = (p[0][1] + q[2][0]); #declare r[0][1] = <5,4,4>; #declare r[0][2] = <6,4,4>; #declare r[0][3] = <7,4,4>; //#declare q[0][3] = r[0][0]; #declare rad = 0.0; #declare txg = tx_fosca; #declare txr = tx_plastico; #declare xmin = 0; #declare ymin = 0; #declare xmax = 1; #declare ymax = 1; #macro meio() object {union { object {retalho (p,rad,txg,txr,xmin,ymin,xmax,ymax) rotate <0, 0, 180>} object {retalho (q,rad,txg,txr,xmin,ymin,xmax,ymax) rotate <0, 0, 180>} //object {retalho (r,rad,txg,txr,xmin,ymin,xmax,ymax) rotate <0, 0, 180>} }} #end #macro cadeira() #object {union { object{meio()} object{meio() scale <0, -1, 0> } }} #end cadeira() #include "camlight.inc" #include "eixos.inc" //eixos(10) #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 10.0; #declare dir_camera = < 10.00, 7.00, 4.00 >; #declare dist_camera = raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)