// Last edited on 2003-12-09 01:45:01 by stolfi #include "colors.inc" #include "skies.inc" #include "rand.inc" #include "woods.inc" //DECLARAÇÕES: GLOBAIS #declare seedling = seed(15081982); global_settings { assumed_gamma 1.3 max_trace_level 5 } //DECLARAÇÕES: MATERIAIS #declare ouro = material { texture { pigment { BrightGold } finish { ambient 0.05 diffuse 0.05 reflection BrightGold metallic specular 0.5 roughness 0.001 } } } #declare cristal_vermelho = material { texture { pigment { rgbf <1, 0, 0, 1> } finish { ambient 0.8 diffuse 0.1 reflection rgbf <0.9, 0.9, 0.1, 1> specular 1 roughness 0.001 } } interior { ior 1.1 } } // DECLARAÇÕES: BIXO #declare corpo = difference { sphere { <0, 0, 0>, 1 pigment { Green } } box { <-1, 0, -1>, <1, 1, 1> pigment { Yellow } } scale <1, 1, 3> } #declare cabeca = union { sphere { <0, 0, 0>, 0.6 pigment { DarkSlateGrey } } sphere { <0, 0, 0>, 0.1 material { cristal_vermelho } translate <0, 0.6, 0> rotate <0, 0, 40> } sphere { <0, 0, 0>, 0.1 material { cristal_vermelho } translate <0, 0.6, 0> rotate <0, 0, -40> } } #declare articulacao = sphere { <0, 0, 0>, 0.1 pigment { Blue } } #declare tam_perna = 1.5; #declare parte_perna = cylinder { <0, 0, 0>, <0, tam_perna, 0>, 0.05 pigment { White } } #declare bixo = union { #declare xx = 0; #while (xx < 2) #declare zz = 0; #while (zz < 4) #declare angulo1 = <60*(rand(seedling)*2-1), 30*(rand(seedling)*2-1), 0>; #declare angulo2 = <60*(rand(seedling)*2-1), 30*(rand(seedling)*2-1), 0>; #declare angulo3 = <60*(rand(seedling)*2-1), 30*(rand(seedling)*2-1), 0>; #declare angulo4 = <60*(rand(seedling)*2-1), 30*(rand(seedling)*2-1), 0>; #declare perna = union { //liberdade em relacao aos angulos object { articulacao } object { parte_perna rotate angulo1 } object { articulacao translate <0, tam_perna, 0> rotate angulo1 } object { parte_perna rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} object { articulacao translate <0, tam_perna, 0> rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} object { parte_perna rotate angulo3 translate <0, tam_perna, 0> rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} object { articulacao translate <0, tam_perna, 0> rotate angulo3 translate <0, tam_perna, 0> rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} object { parte_perna rotate angulo4 translate <0, tam_perna, 0> rotate angulo3 translate <0, tam_perna, 0> rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} object { articulacao translate <0, tam_perna, 0> rotate angulo4 translate <0, tam_perna, 0> rotate angulo3 translate <0, tam_perna, 0> rotate angulo2 translate <0, tam_perna, 0> rotate angulo1} scale 0.5 } #if (xx = 0) object { perna translate <-0.7, 2.5, -1.5 + zz> } #end #if (xx = 1) object { perna translate <0.7, 2.5, -1.5 + zz> } #end #declare zz = zz+1; #end #declare xx = xx+1; #end object { cabeca translate <0, 3.1, -2> } object { corpo translate <0, 2.5, 0> } } // DECLARAÇÕES: CAMA #declare cama = union { cylinder { <0,0,0>, <0,4,0>, 0.1 texture { T_Wood1 } translate <-2, 0, -4> } sphere { <0, 4.1, 0>, 0.1 translate <-2, 0, -4> material { ouro } } cylinder { <0,0,0>, <0,4,0>, 0.1 texture { T_Wood1 } translate <2, 0, -4> } sphere { <0, 4.1, 0>, 0.1 translate <2, 0, -4> material { ouro } } cylinder { <0,0,0>, <0,2.6,0>, 0.1 texture { T_Wood1 } translate <-2, 0, 4> } sphere { <0, 2.7, 0>, 0.1 translate <-2, 0, 4> material { ouro } } cylinder { <0,0,0>, <0,2.6,0>, 0.1 texture { T_Wood1 } translate <2, 0, 4> } sphere { <0, 2.7, 0>, 0.1 translate <2, 0, 4> material { ouro } } box { <-2, 0.5, -4>, <2, 1.5, 4> pigment { White } } box { <-2, 2, -4>, <2, 3.5, -4.00001> texture { T_Wood1 } } text { ttf "cour.ttf" "BARATANHA" 0.05, 0 material { ouro } scale <0.7, 1, 1> translate <-2, 2.5, -4> finish { ambient 1 }} } // CENA plane { y, 0 texture { T_Wood4 } } cama object { bixo translate <0, 0, 0.5> } #declare olho_cam = <13, 10, 13>; #declare ctr = <0,1.3,0>; #declare camDir = olho_cam; camera { location ctr + 1.40*camDir right -0.4*x up 0.3*y sky y look_at ctr } sky_sphere { S_Cloud1 } light_source { 0 color rgb 2 area_light <4, 0, 0> <0, 0, 4> 4, 4 adaptive 0 jitter translate <-100, 1000, -100> }