// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2023-12-28 16:14:34 by stolfi // Raio da grade debug: // #declare rdb = 0.025; #declare rdb = 0; #declare s = seed(1); background{ color rgb < 0.5, 0.5, 0.5 > } #include "retalho.inc" #declare p = array[4][4] #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 xmin = 0; #declare ymin = 0; #declare xmax = 1; #declare ymax = 1; #macro meio(c0,c1,c2) union { object {retalho(p, rdb, c0, 3) rotate <0, 0, 180>} object {retalho(q, rdb, c1, 3) rotate <0, 0, 180>} // object {retalho(r, rdb, c2, 3) rotate <0, 0, 180>} } #end #macro cadeira() #object {union { object{meio(cret0,cret1,cret2)} object{meio(cret3,cret4,cret5) scale <1, -1, 1> } // Prof. }} #end cadeira() #declare cmin = < -7, -4, 00 >; #declare cmax = < +1, +4, +7 >; #include "eixos.inc" #if (rdb > 0) eixos(5.0) #end #include "gaiola.inc" #if (rdb > 0) object{ gaiola(cmin,cmax) } #end #if (rdb = 0) object{ gaipiso(cmin,cmax) } #end #declare centro_cena = (cmin + cmax)/2 - 0.5*z; #declare raio_cena = 0.55*vlength(cmax-cmin); #declare dist_camera = 5*raio_cena; #include "camlight.inc" #declare dir_camera = < 7, 5, 3 >; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)