// 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.75, 0.80, 0.85 > } #declare tx_fosca = texture{ pigment{ color rgb < 0.50, 0.50, 0.50 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_blocked = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #declare n = 5; #declare m = 3; #declare palco = box{ < 0.00, -(n+5), 0.00 >, < -9.00, n+5, 1.50 > texture{ tx_fosca } } #include "eixos.inc" #macro assento(blocked) union{ #local tx_assento = tx_fosca; #if (blocked = true) #local tx_assento = tx_blocked; #end //costas box{ <0.00, 0.00, 0.50>, <0.10, 0.60, 1.10> texture{ tx_assento } } //parte de sentar box{ <0.00, 0.00, 0.45> <-0.60, 0.60, 0.55> texture{ tx_assento } } //pernas box{ <0.00, 0.00, 0.50>, <0.10, 0.10, 0.00> texture{ tx_assento } } box{ <0.00, 0.50, 0.50>, <0.10, 0.60, 0.00> texture{ tx_assento } } box{ <-0.50, 0.00, 0.50>, <-0.60, 0.10, 0.00> texture{ tx_assento } } box{ <-0.50, 0.50, 0.50>, <-0.60, 0.60, 0.00> texture{ tx_assento } } } #end #macro auditorio(m, n) #local row = 1; #local column = 1; #local blocked = false; union{ #while (row <= m) #local column = 1; #while (column <= n) #if (mod(column,2) = 0) #local blocked = true; #else #local blocked = false; #end object { assento(blocked) translate <3.00 + 2*row, column, 0.00> } #local column = column + 1; #end #local row = row + 1; #end } #end // Aqui está a cena, finalmente: union{ //object{ eixos(3.00) } //object { assento(false) translate <7.00, 0.00, 0.00> } auditorio(m,n) object {auditorio(m,n) translate<0.00, -(n+1.00), 0.00>} object { palco pigment{ color<0.50, 0.20, 0.00>} } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 14.00, 1.00, 4.00 >; #declare dist_camera = 10*raio_cena; #declare intens_luz = 1.20; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)