//Cores e Texturas background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_skin = texture{ pigment{ color rgb < 0.87, 0.72, 0.53 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_white = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_black = texture{ pigment{ color rgb < 0.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_red = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_blue = texture{ pigment{ color rgb < 0.00, 0.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_green = texture{ pigment{ color rgb < 0.00, 1.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_yellow = texture{ pigment{ color rgb < 1.00, 1.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_brown = texture{ pigment{ color rgb < 0.545, 0.27, 0.074 > } finish{ diffuse 0.9 ambient 0.1 } } //Descricao da Cena #declare perna = cone { <0.00, 0.50, 0.00>, 0.25, <0.00, 0.50, 0.80>, 0.25 } #declare braco_esq = cone { <0.00, 0.25, 1.50>, 0.20, <0.00, -0.60, 1.30> 0.20 } #declare braco_dir = cone { <0.00, 0.75, 1.50>, 0.20, <0.00, 1.60, 1.30> 0.20 } #declare corpo = cone { <0.00, 0.50, 0.80>, 0.80, <0.00, 0.50, 2.00>, 0.00 } #declare cabeca = sphere { <0.00, 0.50, 2.30>, 0.50 } //boneco vermelho #declare boneco = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_red } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } //boneco verde #declare boneco1 = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_green } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } //boneco amarelo #declare boneco2 = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_yellow } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } //boneco preto #declare boneco3 = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_black } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } //boneco azul #declare boneco4 = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_blue } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } //boneco branco #declare boneco5 = union { object { perna translate<0.00, 0.40, 0.00> texture{ tx_skin } } object { perna translate<0.00, -0.40, 0.00> texture{ tx_skin } } object { corpo texture{ tx_white } } object { braco_esq texture{ tx_skin} } object { braco_dir texture{ tx_skin} } object { cabeca texture{ tx_skin} } scale 0.3 } #declare cadeira = union{ box{ <-0.10,0.10,0.51>, <-0.90,0.60,0.55> texture{ tx_blue } } box{ <-0.95,0.10,0.56>, <-0.95,0.60,0.95> texture{ tx_blue } } } #macro jogadores_esq(num_jog, tx_boneco) union{ #declare n = 0; #while(n scale 1.5 rotate<0,0,90> } #declare n = n + 1.2; #end } #end #macro jogadores_dir(num_jog, tx_boneco) union{ #declare n = 0; #while(n scale 1.5 rotate<0,0,-90> } #declare n = n + 1.2; #end } #end #declare formacao_442 = union{ object{ jogadores_esq(1, boneco5) translate<0,0,0> translate<4.5, -9.0, 0> } object{ jogadores_esq(4, boneco3) translate<0,0,0> translate<7.5, -6.5, 0> } object{ jogadores_esq(4, boneco3) translate<0,0,0> translate<7.5, -3.5, 0> } object{ jogadores_esq(2, boneco3) translate<0,0,0> translate<5.5, -0.5, 0> } } #declare formacao_352 = union{ object{ jogadores_esq(1, boneco4) translate<0,0,0> translate<4.5, 8.0, 0> } object{ jogadores_dir(3, boneco1) translate<0,0,0> translate<2.0, 5.5, 0> } object{ jogadores_dir(5, boneco1) translate<0,0,0> translate<0.0, 3.5, 0> } object{ jogadores_dir(2, boneco1) translate<0,0,0> translate<3.0, 2.0, 0> } } #declare gramado = union{ //Gramado box{ <0,-10,0>, <8,9,0> } } #declare gol_esq = union{ cone{ <3.0, -9.8, 0>, 0.2, <3.0, -9.8, 1.5>, 0.2 texture{ tx_white } } cone{ <5.0, -9.8, 0>, 0.2, <5.0, -9.8, 1.5>, 0.2 texture{ tx_white } } cone{ <3.0, -9.8, 1.4>, 0.2, <5.0, -9.8, 1.4>, 0.2 texture{ tx_white } } } #declare gol_dir = union{ cone{ <3.0, 8.8, 0>, 0.2, <3.0, 8.8, 1.5>, 0.2 texture{ tx_white } } cone{ <5.0, 8.8, 0>, 0.2, <5.0, 8.8, 1.5>, 0.2 texture{ tx_white } } cone{ <3.0, 8.8, 1.4>, 0.2, <5.0, 8.8, 1.4>, 0.2 texture{ tx_white } } } #declare area_esq = difference{ box{ <1.5,-10,0>, <6.5,-7,-1> } box{ <2.0,-10,1>, <6, -7.5, -2> } } #declare area_dir = difference{ box{ <1.5,9,0>, <6.5,6,-1> } box{ <2.0,9,1>, <6, 6.5, -2> } } #declare grande_area = union{ intersection{ object{ area_esq } object{ gramado } texture{ tx_white } } intersection{ object{ area_dir } object{ gramado } texture{ tx_white } } } #declare linhas_gramado = //Meio de campo box{ <0, -0.25, 0>, <8, 0.25, 0> } #declare esfera_central = difference{ sphere{ <4,0,0> 2.5 texture{ tx_white} } sphere{ <4,0,0> 2.0 texture{ tx_white} } } #declare centro_campo = intersection{ object{ gramado } object{ esfera_central } texture{ tx_white } } #declare campo = union{ object{ gramado texture{ tx_green } } object{ centro_campo translate<0,0,0.2> } object{ grande_area translate<0,0,0.2> } object{ linhas_gramado texture{ tx_white } translate<0,0,0.1> } object{ gol_esq } object{ gol_dir } } #declare rolete = seed(315); #macro arquibancada(altura, largura, textura, cadeiras) union { //escada #declare i=0; #declare j=0; #while(i, texture{ textura} } #declare i = i + 1.00; #declare j = j + 0.50; #end //cadeiras + torcida #if(cadeiras = 1) #declare k=0; #declare a=0; #while(a } #if(rand(rolete) < 0.7) object{boneco1 translate<-0.5-a, 0.20+n, 0.52+k>} #else object{boneco3 translate<-0.5-a, 0.20+n, 0.52+k>} #end #declare n = n + 0.8; #end #declare a = a + 1.00; #declare k = k + 0.50; #end #end } #end #macro arquibancada1(altura, largura, textura, cadeiras) union { //escada #declare i=0; #declare j=0; #while(i, texture{ textura} } #declare i = i + 1.00; #declare j = j + 0.50; #end //cadeiras + torcida #if(cadeiras = 1) #declare k=0; #declare a=0; #while(a } #if(rand(rolete) < 0.7) object{boneco1 translate<-0.5-a, 0.20+n, 0.52+k>} #end #declare n = n + 0.8; #end #declare a = a + 1.00; #declare k = k + 0.50; #end #end } #end #include "eixos.inc" //Cena //Arquibancada 1 //object{ eixos(15.00) } object{ arquibancada(15, 9, tx_brown, 1) translate<0,-10,0> } object{ arquibancada(10, 1, tx_yellow, 0) translate<0,-1,0> } object{ arquibancada1(10, 9, tx_brown, 1) translate<0,0,0>} //Arquibancadas laterais object{ arquibancada1(8, 8, tx_brown, 1) translate<-9,0,0> rotate<0,0,-90>} object{ arquibancada(8, 8, tx_brown, 1) translate<-10,-8,0> rotate<0,0,90>} //Arquibancada 2 object{ arquibancada(5, 19, tx_brown, 1) translate<-8,-9,0> rotate<0,0,180>} //Gramado object{ campo } //Jogadores object{ formacao_442 } object{ formacao_352 } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena =20.0; #declare dir_camera = < 50.00, 8.00, 24.00 >; #declare dist_camera = 40.00; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)