// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 1, 1, 1 > } #declare roleta = seed(315); #declare comprimentoArquibancada = 12; #declare tx_cadeiras = texture{ pigment{ color rgb < 0.80, 0.70, 0.60 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_pessoa1 = texture{ pigment{ color rgb < 0.70, 0.50, 0.60 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_pessoa2 = texture{ pigment{ color rgb < 0.30, 0.50, 0.90 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare assento = box{ < -2, 0, 1 >, < 0, 2, 1.2 > } #declare encosto = box{ < -2, 0, 1 >, < -1.8, 2, 3 > } #declare cadeira = union { object {assento} object {encosto} texture {tx_cadeiras} } #declare perna1 = cylinder{ < 0, 0.75, 2 >, < 0, 0, 0 >, 0.2 } #declare perna2 = cylinder{ < 0, 1.25, 2 >, < 0, 2, 0 >, 0.2 } #declare corpo = box{ < 0.4, 0.75, 5 >, <-0.4, 1.25, 1.6 > } #declare braco1 = cylinder{ < 0, 0, 4 >, < 0, 0.75, 4 >, 0.2 } #declare braco2 = cylinder{ < 0, 1.25, 4 >, < 0, 2, 4 >, 0.2 } #declare cabeca = sphere { < 0, 1, 5.6 >, 0.8 } #declare pessoa = union { object {perna1} object {perna2} object {braco1} object {braco2} object {corpo} object {cabeca} translate <-1.5, 0.2, 1.5> } #macro ArquibancadaCompleta (fileiras, cadeiras) union { union { #declare i=0; #while (i < fileiras) box{ < -3.5-(3.5*i), 0, 0 >, < 0-(3.5*i), (3*cadeiras)-1, 1+i > texture{ pigment{ color rgb < 0.20, 0.50, 0.30 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } } #declare i = i+1; #end scale 0.2 } union { #declare j=0; #while (j < fileiras) #declare i=0; #while (i < cadeiras) union { object {cadeira translate < -(3.5*j) , (3*i), j> scale 0.2} object {pessoa #if (rand(roleta) < 0.5) texture {tx_pessoa1} #else texture {tx_pessoa2} #end translate < -((3.5/3)*4*j) , (4*i), j> scale 0.15 } } #declare i = i+1; #end #declare j = j+1; #end } } #end #macro Estadio(comprimento) union { object { ArquibancadaCompleta(10, comprimento) rotate 90*z translate < ((3*comprimento)-1)*0.2 , 0, 0> } object { ArquibancadaCompleta(6, comprimento) } object { ArquibancadaCompleta(13, comprimento) rotate 270*z translate < 0 , ((3*comprimento)-1)*0.2, 0> } object { ArquibancadaCompleta(8, comprimento) rotate 180*z translate < ((3*comprimento)-1)*0.2 , ((3*comprimento)-1)*0.2, 0> } } #end #include "eixos.inc" object {eixos(3.00)} object {Estadio(comprimentoArquibancada) scale 0.5} #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 9.0; #declare dir_camera = < 2, 3, 1 >; #declare dist_camera = 16.0; #declare intens_luz = 1.50; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)