// 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.74, 0.84, 0.92 > } #declare roleta = seed(11031997); #declare tx_azul = texture { pigment { color rgb <0.34, 0.45, 0.6> } finish { diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_vermelho = texture { pigment { color rgb <1, 0.37, 0.34> } finish { diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #macro circulo (R, N) #declare raio_circulo = 5; union{ #declare tt = 0; #while (tt < 1) #declare xx = raio_circulo * cos(tt * 2 * pi); #declare yy = raio_circulo * sin(tt * 2 * pi); #declare zz = 0; sphere{ , R } #declare tt = tt + (1 / N); #end } #end #macro palito (R, N, p, q, uu) sphere{ (1 - uu) * p + uu * q, R } #end #macro quadrado (R, N) #declare tamanho = 10; #declare l = tamanho / 2; union{ #declare tt = 0; #while (tt < 1) palito(R, N, <-l, -l, 0>, <+l, -l, 0>, tt) palito(R, N, <+l, -l, 0>, <+l, +l, 0>, tt) palito(R, N, <+l, +l, 0>, <-l, +l, 0>, tt) palito(R, N, <-l, +l, 0>, <-l, -l, 0>, tt) #declare tt = tt + (1 / N); #end } #end #macro arco(R, N, centro, raio, theta_inicio, theta_fim, uu) union{ #declare theta = theta_inicio + uu * (theta_fim - theta_inicio); #declare xx = raio * cos(theta); #declare yy = raio * sin(theta); #declare zz = 0; sphere{ centro + , R } #declare tt = tt + (1 / N); } #end #macro quadrado_esquisito (R, N) #declare l = 10; union{ #declare tt = 0; #while (tt < 1) /* palito(R, N, <-l, -l, 0>, <+0, -l, 0>, tt) palito(R, N, <+0, -l, 0>, <+0, +0, 0>, tt) palito(R, N, <+0, +0, 0>, <+l, +0, 0>, tt) palito(R, N, <+l, +0, 0>, <+l, +l, 0>, tt) */ palito(R, N, <+l/2, +l, 0>, <-l/2, +l, 0>, tt) palito(R, N, <-l, +l/2, 0>, <-l, -l/2, 0>, tt) arco(R, N, <-l/2, +l/2, 0>, l/2, pi / 2, pi, tt) arco(R, N, <+l/2, +l/2, 0>, l/2, 0, pi / 2, tt) arco(R, N, <+l/2, +l/2, 0>, l/2, 3 * pi / 2, 2 * pi, tt) arco(R, N, <+l/2, -l/2, 0>, l/2, pi / 2, pi, tt) arco(R, N, <-l/2, -l/2, 0>, l/2, pi, 3 * pi / 2, tt) arco(R, N, <-l/2, -l/2, 0>, l/2, 3 * pi / 2, 2 * pi, tt) #declare tt = tt + (1 / N); #end } #end // Aqui está a cena, finalmente: /* #include "eixos.inc" */ union { /* eixos(5) */ /* object{ circulo(1, 1000) texture{ tx_azul } } */ /* object{ quadrado(1, 1000) texture{ tx_azul } } */ object{ quadrado_esquisito(1, 1000) texture{ tx_azul } } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 20.0; #declare dir_camera = < 6.00, 6.00, 5.00 >; #declare dist_camera = 5*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)