//Projeto Final MC930 //Nome: Ricardo Yugo Ito RA 971506 //Monumento: Biblioteca Central - BC background { color rgb <0.2, 0.2, 0.2> } light_source { <30, 30, 30> color rgb <0.7, 0.7, 0.7>} light_source { <8, 3.7, 0> color rgb <0.5, 0.5, 0.5>} light_source { <8, -3.7, 0> color rgb <0.5, 0.5, 0.5>} camera { location < 14.00, 14.00, 13.00 > up < 0.00, 0.00, 1.80 > sky < 0.00, 0.00, 1.00 > look_at < 0.00, 0.00, 0.00 > } //----------------------------------------------------------------------------- // Cores, Texturas e eixos //----------------------------------------------------------------------------- #declare black_esc = texture { pigment { color rgb <0.5, 0.5, 0.5>}} #declare blue_esc = texture { pigment { color rgb <0, 0, 1>}} #declare green_esc = texture { pigment { color rgb <0, 1, 0>}} #declare red_esc = texture { pigment { color rgb <1, 0, 0>}} #declare brown = texture { pigment { color rgb <1, 1, 0.5>}} #declare yellow = texture { pigment { color rgb <0.99, 0.9, 0.2>}} #declare yellow_wall = texture { pigment { color rgb <1, 1, 0.84>} finish { diffuse 0.68 specular 0.06 roughness 0.005 ambient 0.3} } #declare prata= texture { pigment { color rgb <1.5, 1.5, 1.5>}} #declare green_grass = texture { pigment { color rgb <0.5, 1, 0.3>} normal { bumps 0.53 scale 0.1} finish { diffuse 0.68 specular 0.06 roughness 0.005 ambient 0.3} } #declare concreto = texture { pigment { color rgb <0.6, 0.6, 0.6>} normal { bumps 0.68 scale 0.08}} #declare eixos = union { cylinder { <0, 0, 0> <100, 0, 0> 0.07 texture { blue_esc }} cylinder { <0, 0, 0> <0, 100, 0> 0.27 texture { black_esc }} cylinder { <0, 0, 0> <0, 0, 100> 0.07 texture { red_esc }} } //----------------------------------------------------------------------------- // Planos //----------------------------------------------------------------------------- #declare plano = box { <38, 40, -6.5> <-38, -40, -6.4> texture { green_grass} } #declare plano2 = box { <12, 16, -6.4> <-12, -16, -0.5> texture { green_grass} } #declare plano_diag = box { <5, 16, 0.1> <-5, -16, -0.1> texture { green_grass} } #declare plano3 = object { plano_diag rotate <0, 37, 0> translate <16, 0, -3.4> } #declare plano_base = box { <10, 14, -0.5> <-10, -14, 0> texture { concreto} } //----------------------------------------------------------------------------- // Predios //----------------------------------------------------------------------------- #declare caixa_1 = box { <0.5, 0.75, 0> <-0.5, -0.75, 7.5> texture { yellow_wall }} #declare caixa_2 = box { <0.5, 0.75, 0.2> <-0.5, -0.75, 7.5> rotate <0, 12, 0> translate <-1.7, 0, 0> texture { yellow_wall }} #declare caixa_3 = box { <-0.3, -0.75, 0> <-1.3, 0.75, 3.5> texture { yellow_wall }} #declare torre = union { object { caixa_1 } object { caixa_2 } object { caixa_3 } scale <0.8, 2.5, 1.1> } #declare divisoria = cylinder { <3.5, -3.9, 3.1> <3.5, -3.9, 8.9> 0.07 texture { concreto }} #declare predio_central = box { <2, 3, 0> <-2, -3, 5> texture { yellow_wall }} #declare bloco_lateral_a = box { <3, 4, 0> <-3, -4, 3> texture { yellow_wall }} #declare bloco_lateral_b = box { <-4, -5, 3> < 4, 7, 9> texture { yellow_wall }} #declare bloco_lateral_c = difference { box { <4.3, -3.9, 3.1> < 3.3, 6.9, 8.9> texture { black_esc }} box { <4.3, -0.25, 3.1 > <3.3, -0.15, 8.9> texture { yellow_wall }} box { <4.3, 3.25, 3.1 > <3.3, 3.35, 8.9 > texture { yellow_wall }} } #declare bloco_lateral_d = difference {union{ object { bloco_lateral_a } object { bloco_lateral_b }} object { bloco_lateral_c }} #declare yellow_thing = difference { box { <3.9, -3.9, 3.1> <3.8, 6.9, 8.9> texture { yellow }} box { <4, -3.9, 3.1 > < 3.7, 6.9, 3.93 > texture { yellow }} box { <4, -3.9, 5.03 > < 3.7, 6.9, 5.86 > texture { yellow }} box { <4, -3.9, 6.96 > < 3.7, 6.9, 7.79 > texture { yellow }} } #declare cilindro = cylinder { <2.6, -5, 4> <2.6, 7, 4> 5.3 texture { prata }} #declare telhado = difference { union { object { cilindro } object { cilindro translate <-2.66, 0, 0> } object { cilindro translate <-5.32, 0, 0> } } box { <-20, -5.01, 0.01> <20, 7.01, 9.1> texture { concreto }} } #declare lateral_a = difference { box { <3.8, 7.1, 0> <-3.8, 7.1, 9> texture { brown }} cylinder { <2.6, 6.8, 4> <2.6, 7.2, 4> 1.5 texture { brown }} } #declare i=1; #declare bloco_lateral = union { #while ( i<14 ) union { object { bloco_lateral_d } object { telhado } object { yellow_thing } //object { lateral_a } object { divisoria } object { divisoria translate <0, 0.8*i, 0>} } #declare i = i+1; #end } //----------------------------------------------------------------------------- // Chamadas //----------------------------------------------------------------------------- object { eixos } object { plano } object { plano2 } object { plano3 } object { plano3 scale <-1, 0, 0> } object { torre translate <1.8, -3, 0> rotate <0, 0, 180> scale <1.2, 0.8, 1.2>} object { torre translate <1.8, 3, 0> rotate <0, 0, 180> scale <1.2, 0.8, 1.2>} object { predio_central translate <1, 0, 0> scale <1.1, 1.3, 1.3>} object { bloco_lateral scale <0.8, 0.7, 0.75> rotate <0, 0, -20> translate <3, 6.5, 0>} object { bloco_lateral scale <0.8, 0.7, 0.75> rotate <0, 0, -20> translate <3, 6.5, 0> scale <1, -1, 1>} //#declare xo = sphere {<8, 2, 0>, 1 texture { yellow }} //object {xo } object { plano_base }