// MC930 - Trabalho final // Author: milena // MONUMENTO //#include "skies.inc " #include "textures.inc" #include "colors.inc" #include "finish.inc" // FUNDO // Ceu azul ao fundo plane { y, 500 texture { pigment { color rgb <0.22, 0.3, 0.82> } finish { ambient 1 diffuse 0} } texture { pigment { bozo turbulence .5 color_map { [0 color rgb <1, 1, 1>] [1 color rgb <1, 1, 1> filter 1] } } finish { ambient 1 diffuse 0 } scale <1000, 250, 250> rotate <5, 45, 0> } } background{ color rgb < 0.22, 0.20, 0.82 > } light_source { < 200.00, 500.00, 200.00 > color rgb < 1.00, 1.00, 1.00 > } camera { location < -55.00,55.00, 90.00 > right < 2.40, 0.00, 0.00 > up < 0.00, 0.00, 1.80 > sky < 0.00, 1.00, 0.00 > look_at < 0.00, 100.00, 0.00 > } #declare textura_predio = texture { pigment { bozo colour_map { [0.5 color rgb <0.05,0.35,0.65>] [1.00 color rgb <0.05,0.55,0.75>] } } normal { bumps 0.95 scale 0.002 } finish { phong 1 } } #declare textura_pavimento = texture { pigment { bozo colour_map { [0.5 color rgb <0.25,0.65,0.45>] [1.00 color rgb <0.25,0.75,0.45>] } } normal { bumps 0.95 scale 0.002 } finish { phong 1 } } #declare textura_lateral = texture { pigment { bozo colour_map { [0.5 color rgb <0.65,0.65,0.65>] [1.00 color rgb <0.75,0.75,0.75>] } } normal { bumps 0.95 scale 0.002 } finish { phong 1 } } #declare pavimento = plane{ y, -4 texture{ textura_pavimento } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } #declare terreo = union { object {pavimento} // terreo1 box { < -8, -4, -5>, < 8, 0.5, 5> texture{ textura_predio } } // terreo2 box { < -5, 0.5, -5>, < 5, 5, 5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } //texture{ //pigment{ color rgb < 1.00, 0.90, 0.05 > } //finish{ diffuse 0.05 ambient 0.05 reflection 0.85 } // } } // primeira laje box { < -5.2, 5, -5.2>, < 5.2, 6, 5.2> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // mosaicos box { < -1.5, 0.5, -2.5>, < 1.5, 16.5, 5.5> texture{ textura_predio} } box { < -1.5, 16.5, -2.5>, < -0.5, 19.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 1.5, 16.5, -2.5>, < 0.5, 19.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -5, 19.5, -2.5>, < 5.0, 20.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 1.5, 9.5, -2.5>, < 3.0, 16.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 3.0, 9.5, -2.5>, < 4.0, 17.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 4.0, 10.5, -2.5>, < 5.0, 18.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -1.5, 9.5, -2.5>, < -3.0, 16.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -3.0, 9.5, -2.5>, < -4.0, 17.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -4.0, 10.5, -2.5>, < -5.0, 18.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 1.5, 0.5, -2.5>, < 4.0, 7.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < 4.0, 0.5, -2.5>, < 5.0, 6.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -1.5, 0.5, -2.5>, < -4.0, 7.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } box { < -4.0, 0.5, -2.5>, < -5.0, 6.5, 5.5> texture{ pigment{ color rgb < 2.00, 2.0, 2.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } } #declare i = 1; #declare g = seed(pi); #declare andares = union { #declare n_and = rand(g) * 10; #while (i < n_and + 1) box { < -5, 1 + 5*i, -5>, < 5, 5 + 5*i, 5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < -5.2, 5 + 5*i, -5.2>, < 5.2, 6 + 5*i, 5.2> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // janelas de frente box { < -4.5, 1 + 5*i, 4.2>, < -2, 5 + 5*i, 5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < -1.5, 1 + 5*i, 4.2>, < 1.5, 5 + 5*i, 5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < 2, 1 + 5*i, 4.2>, < 4.5, 5 + 5*i, 5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // janelas do fundo box { < -4.5, 1 + 5*i, -4.2>, < -2, 5 + 5*i, -5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } //pigment{ color rgb < 1.00, 1.00, 1.00 > } //finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } box { < -1.5, 1 + 5*i, -4.2>, < 1.5, 5 + 5*i, -5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < 2, 1 + 5*i, -4.2>, < 4.5, 5 + 5*i, -5.1> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // janelas direitas box { < 4.2, 1 + 5*i, -4.5>, < 5.1, 5 + 5*i, -2> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < 4.2, 1 + 5*i, -1.5>, < 5.1, 5 + 5*i, 1.5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < 4.2, 1 + 5*i, 2>, < 5.1, 5 + 5*i, 4.5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // janelas esquerdas box { < -4.2, 1 + 5*i, -4.5>, < -5.1, 5 + 5*i, -2> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < -4.2, 1 + 5*i, -1.5>, < -5.1, 5 + 5*i, 1.5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } box { < -4.2, 1 + 5*i, 2>, < -5.1, 5 + 5*i, 4.5> texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } #declare i = i + 1; #end #declare i = 1; } #declare escadaria = prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <7,7>,<-7,7>,<-7,-7>,<7,-7>,<7,7> rotate <180, 0, 0> translate <0, 1, 0> translate <5, 0, 0> translate <-6, 0, 0> translate <0, -1, 5> scale <0.5, 4, 1> scale<0.5,0.5,0.5> pigment { gradient y scale .2 } translate <0, -1, 0> } #declare textura_lateral = texture { pigment { bozo colour_map { [0.5 color rgb <0.65,0.65,0.65>] [1.00 color rgb <0.75,0.75,0.75>] } } normal { bumps 0.95 scale 0.002 } finish { phong 1 } } #declare lateral1 = box{ <5,23,5>, <7,-1,-5> texture {textura_predio} //pigment{ color rgb < 0.40, 0.70, 0.80 >} // finish{ diffuse 0.05 ambient 0.05 reflection 0.10 } } #declare lateral2 = box{ <5,23,5>, <7,-1,-5> texture {textura_predio} // pigment{ color rgb < 0.40, 0.70, 0.80 >} //finish{ diffuse 0.05 ambient 0.05 reflection 0.10 } scale<-1,1,1> } #declare teto = difference{ union{ cylinder { < 4.2, 15, 2>, < -7.1, 15, 4.5>, 8 open texture {textura_predio} translate <1,0,-2.5> rotate y*165 rotate y*92.5 } cylinder { < 4.2, 15, 2>, < -7.1, 15, 4.5>, 7.5 texture{ pigment{ color rgb < 0.00, 0.97, 0.99 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } translate <1,0,-2.5> rotate y*165 rotate y*92.5 } } plane{ y, 20.5 texture{ pigment{ checker color rgb < 0.0, 0.0, 0.00 >, color rgb < 0.80, 0.80, 0.80 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } } #declare predio = union { object { terreo } object { andares } object {lateral1} object {lateral2} } #declare vazio = box { < -7.5, 0, -7.5>, < 7.5, 0.5, 7.5> texture { pigment {color rgb <0,1,0> } } } // Cena Final difference{ union{ //object { pavimento} object { predio scale<3,5,3> } object { teto scale<3,5,3>} object { escadaria scale<3,5,3> } } } // PAVIMENTO #declare pavimento = plane{ z, -1 texture{ pigment{ checker color rgb < 0.80, 0.90, 1.00 >, color rgb < 0.20, 0.70, 1.00 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } // FUNDO background{ color rgb < 0.90, 0.92, 0.95 > }