// MC930 - Projeto Final // Last edited on 2000-12-14 09:07:40 by Fabio Yuasa Niizu RA:962325 #include "textures.inc" #include "colors.inc" #declare i=1; #declare j=0; background{ color rgb < 0, 0, 1 > } light_source { < 2000.00, -2000.00, 1000.00 > color rgb < 1.00, 1.00, 1.00 > } light_source { < -2000.00, -2000.00, 1000.00 > color rgb < 1.00, 1.00, 1.00 > } camera { location < 40.00, -100.00, 10.00 > right < -1.20, 0.00, 0.00 > up < 0.00, 0.00, 0.90 > sky < 0.00, 0.00, 1.00 > look_at < -5.00, 10.00, 10.00 > } #declare tinta_rodovia = texture { pigment { color rgb < 1, 1, 1 > } finish { diffuse 0.2 specular 0.05 roughness 0.005 ambient 0.1 } } #declare tinta_white = texture { pigment { color rgb < 1, 1, 1 > } finish { diffuse 0.9 specular 0.9 roughness 0.005 ambient 0.1 } } #declare tinta_blue = texture { pigment { color rgb < 0, 0, 1 > } finish { diffuse 0.7 specular 0.05 roughness 0.005 ambient 0.1 } } #declare tinta_red = texture { pigment { color rgb < 1, 0, 0 > } finish { diffuse 0.9 specular 0.05 roughness 0.005 ambient 0.1 } } // Corpo // Central #declare parte_inferior = box { < -57.00, -5.00, 10.00>, // Near lower left corner < 57.00, 5.00, 11.50> texture { tinta_white } } #declare vidro_do_meio = box { < -57.00, -4.90, 11.50>, // Near lower left corner < 57.00, 4.90, 13.50> texture { NBglass } } #declare parte_superior = box { < -57.00, -5.00, 13.50>, // Near lower left corner < 57.00, 5.00, 14.00> texture { tinta_white } } #declare parte_central = box { < -14.00, -9.00, 10.00>, // Near lower left corner < 14.00, 9.00, 11.50> texture { tinta_white } } #declare vidro_central = box { < -14.00, -8.90, 11.50>, // Near lower left corner < 14.00, 8.90, 14.00> texture { NBglass } } //Piso inferior #declare sup_piso_inferior = box { < -57.00, -5.00, 9.00>, // Near lower left corner < 14.00, 5.00, 10.0> texture { tinta_white } } #declare vidro_piso_inferior = box { < -57.00, -4.90, 10.00>, // Near lower left corner < 14.00, 4.90, 8.00> texture { NBglass } } #declare inferior_piso_inferior = box { < -57.00, -5.00, 8.00>, // Near lower left corner < 14.00, 5.00, 6.50> texture { tinta_white } } // Detalhes #declare detalhe = union { cylinder { < 57.00, -5.10, 10.20 >, < 52.70, -5.10, 14.80 >, 0.2 texture { tinta_red } } cylinder { < 52.70, -5.10, 14.80 >, < 48.40, -5.10, 10.20 >, 0.2 texture { tinta_red } } cylinder { < 48.40, -5.10, 10.20 >, < 44.10, -5.10, 14.80 >, 0.2 texture { tinta_red } } cylinder { < 44.10, -5.10, 14.80 >, < 39.80, -5.10, 10.20 >, 0.2 texture { tinta_red } } cylinder { < 39.80, -5.10, 10.20 >, < 35.50, -5.10, 5.60 >, 0.2 texture { tinta_red } } cylinder { < 35.50, -5.10, 5.60 >, < 31.20, -5.10, 10.20 >, 0.2 texture { tinta_red } } cylinder { < 31.20, -5.10, 10.20 >, < 26.90, -5.10, 14.80 >, 0.2 texture { tinta_red } } cylinder { < 26.90, -5.10, 14.80 >, < 22.60, -5.10, 10.20 >, 0.2 texture { tinta_red } } cylinder { < 22.60, -5.10, 10.20 >, < 18.30, -5.10, 14.80 >, 0.2 texture { tinta_red } } cylinder { < 18.30, -5.10, 14.80 >, < 14.00, -5.10, 10.20 >, 0.2 texture { tinta_red } } cylinder { < 39.80, -5.10, 10.20 >, < 35.50, -5.10, 14.80 >, 0.2 texture { tinta_white } } cylinder { < 35.50, -5.10, 14.80 >, < 31.20, -5.10, 10.20 >, 0.2 texture { tinta_white } } } #declare janela = box { < 52.6, -4.90, 11.50>, // Near lower left corner < 52.8, -5.00, 13.50> texture { tinta_white } } #declare i=1; #declare j=0; #while (i < 11) #declare j = j - 4.30; object { janela translate } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 11) #declare j = j - 4.30; object { janela translate <(j-71),9.8,0> } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 11) #declare j = j - 4.3; object { janela translate <(j-71),0,0> } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 11) #declare j = j - 4.3; object { janela translate } #declare i = i + 1; #end // Lateral #declare lateral_esquerda_inferior = box { < 57.00, -6.00, 11.50>, // Near lower left corner < 62.00, 6.00, 6.50> texture { tinta_white } } #declare vidro_lateral_esquerdo = box { < 57.00, -5.90, 11.50>, // Near lower left corner < 62.00, 5.90, 14.00> texture { NBglass } } #declare lateral_direita_inferior = box { < -57.00, -6.00, 11.50>, // Near lower left corner < -62.00, 6.00, 6.50> texture { tinta_white } } #declare vidro_lateral_direito = box { < -57.00, -5.90, 11.50>, // Near lower left corner < -62.00, 6.90, 14.00> texture { NBglass } } // Pilares #declare pilar_pista1 = cylinder { < 12.50, 4.90, 0.00 >, < 12.50, 4.90, 8.00 >, 0.50 texture { tinta_white } } #declare pilar_pista2 = cylinder { < 12.50, -4.90, 0.00 >, < 12.50, -4.90, 8.00 >, 0.50 texture { tinta_white } } #declare pilar_pista3 = cylinder { < -12.50, 4.90, 0.00 >, < -12.50, 4.90, 8.00 >, 0.50 texture { tinta_white } } #declare pilar_pista4 = cylinder { < -12.50, -4.90, 0.00 >, < -12.50, -4.90, 8.00 >, 0.50 texture { tinta_white } } #declare pilar_esquerdo = box { < -35.00, -5.00, 0.00>, // Near lower left corner < -36.00, 5.00, 7.0> texture { tinta_white } } #declare pilar_direito = box { < 35.00, -5.00, 0.00>, // Near lower left corner < 36.00, 5.00, 10.0> texture { tinta_white } } // Telhados #declare telhado_central_inf = prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> rotate < -90, 0, 0 > translate < 0.00, 0.00, 1.8 > scale < 4.0, 3.0, 17.0 > pigment { color White } } #declare telhado_central_sup = prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> rotate < -90, 0, 0 > translate < 0.00, 0.00, 1.85 > scale < 4.0, 3.0, 17.0 > pigment { color White } } #declare telhado_lateral_esq = prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> rotate < -90, 0, 0 > translate < 28.50, 0.00, 2.6 > scale < 2.0, 1.50, 8.50 > pigment { color White } } #declare telhado_lateral_dir = prism { conic_sweep linear_spline 0, // height 1 1, // height 2 5, // the number of points making up the shape... <4,4>,<-4,4>,<-4,-4>,<4,-4>,<4,4> rotate < -90, 0, 0 > translate < -28.50, 0.00, 2.6 > scale < 2.0, 1.50, 8.50 > pigment { color White } } #declare continuacao_da_piramide1 = cylinder { < 15.40, -11.50, 14.50 >, < 0.00, 0.00, 30.90 >, 0.35 texture { tinta_blue } } #declare continuacao_da_piramide2 = cylinder { < 15.40, 11.50, 14.50 >, < 0.00, 0.00, 30.90 >, 0.35 texture { tinta_blue } } #declare continuacao_da_piramide3 = cylinder { < -15.40, -11.50, 14.50 >, < 0.00, 0.00, 30.90 >, 0.35 texture { tinta_blue } } #declare continuacao_da_piramide4 = cylinder { < -15.40, 11.50, 14.50 >, < 0.00, 0.00, 30.90 >, 0.35 texture { tinta_blue } } #declare telhado_principal = box { < 0.00, -9.50, 13.50>, // Near lower left corner < 57.00, 9.50, 21.50> texture { tinta_white } } #declare telhado_principal2 = box { < 0.00, -9.50, 13.50>, // Near lower left corner < -57.00, 9.50, 21.50> texture { tinta_white } } //PAVIMENTO #declare pavimento = plane{ z, 0 texture{ pigment{ color rgb < 0.0, 1.0, 0.0 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } normal{ granite 0.5 } } scale 10 } #declare A1 = < -4.5, -20.0, 0>; #declare A2 = < -4.5, -21.0, 0>; #declare A3 = < -4.5, -22.0, 0>; #declare A4 = < -4.5, -23.0, 0>; #declare B1 = < -5.0, -20.0, 0>; #declare B2 = < -5.0, -21.0, 0>; #declare B3 = < -5.0, -22.0, 0>; #declare B4 = < -5.0, -23.0, 0>; #declare C1 = < -5.5, -20.0, 1>; #declare C2 = < -5.5, -21.0, 1>; #declare C3 = < -5.5, -22.0, 1>; #declare C4 = < -5.5, -23.0, 1>; #declare D1 = < -5.7, -20.0, 1>; #declare D2 = < -5.7, -21.0, 1>; #declare D3 = < -5.7, -22.0, 1>; #declare D4 = < -5.7, -23.0, 1>; #declare morro = bicubic_patch{ type 1 u_steps 5 v_steps 5 flatness 0.1 A1, B1, C1, D1 A2, B2, C2, D2 A3, B3, C3, D3 A4, B4, C4, D4 texture{ pigment{ color rgb < 0.0, 1.0, 0.0 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } normal{ granite 0.5 } } scale 10 } #declare i=1; #declare j=0; #while (i < 2000) #declare j = j + 0.5; object { morro translate <0,j,0> } #declare i = i + 1; #end #declare E1 = < 4.5, -20.0, 0>; #declare E2 = < 4.5, -21.0, 0>; #declare E3 = < 4.5, -22.0, 0>; #declare E4 = < 4.5, -23.0, 0>; #declare F1 = < 5.0, -20.0, 0>; #declare F2 = < 5.0, -21.0, 0>; #declare F3 = < 5.0, -22.0, 0>; #declare F4 = < 5.0, -23.0, 0>; #declare G1 = < 5.5, -20.0, 1>; #declare G2 = < 5.5, -21.0, 1>; #declare G3 = < 5.5, -22.0, 1>; #declare G4 = < 5.5, -23.0, 1>; #declare H1 = < 5.7, -20.0, 1>; #declare H2 = < 5.7, -21.0, 1>; #declare H3 = < 5.7, -22.0, 1>; #declare H4 = < 5.7, -23.0, 1>; #declare morro2 = bicubic_patch{ type 1 u_steps 5 v_steps 5 flatness 0.1 E1, F1, G1, H1 E2, F2, G2, H2 E3, F3, G3, H3 E4, F4, G4, H4 texture{ pigment{ color rgb < 0.0, 1.0, 0.0 > } finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } normal{ granite 0.5 } } scale 10 } #declare i=1; #declare j=0; #while (i < 2000) #declare j = j + 0.5; object { morro2 translate <0,j,0> } #declare i = i + 1; #end //Rodovia #declare estrada_interior = box { < -34.00, -200.00, 0.00>, // Near lower left corner < -13.00, 2000.00, 0.05> texture { tinta_rodovia } } #declare estrada_capital = box { < 13.0, -200.00, 0.00>, // Near lower left corner < 34.00, 2000.00, 0.05> texture { tinta_rodovia } } #declare risco_longo1 = box { < -31.05, -200.00, 0.00>, // Near lower left corner < -30.95, 2000.00, 0.06> texture { tinta_white } } #declare risco_longo2 = box { < -15.95, -200.00, 0.00>, // Near lower left corner < -16.05, 2000.00, 0.06> texture { tinta_white } } #declare risco_longo3 = box { < 15.95, -200.00, 0.00>, // Near lower left corner < 16.05, 2000.00, 0.06> texture { tinta_white } } #declare risco_longo4 = box { < 30.95, -200.00, 0.00>, // Near lower left corner < 31.05, 2000.00, 0.06> texture { tinta_white } } #declare risco = box { < -25.95, -200.00, 0.00>, // Near lower left corner < -26.05, -198.00, 0.06> texture { tinta_white } } #declare i=1; #declare j=0; #while (i < 2000) #declare j = j + 5; object { risco translate <0,j,0> } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 200) #declare j = j + 5; object { risco translate <5,j,0> } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 200) #declare j = j + 5; object { risco translate <47,j,0> } #declare i = i + 1; #end #declare i=1; #declare j=0; #while (i < 200) #declare j = j + 5; object { risco translate <52,j,0> } #declare i = i + 1; #end //ceu plane { -z, -3300 texture { pigment {SkyBlue} finish { ambient 1 diffuse 0} } texture { pigment { bozo turbulence .5 color_map { [0 White] [1 White filter 1] } } finish { ambient 1 diffuse 0 } scale <90000, 22500, 22500> rotate <5, 45, 0> } } // CENA object {parte_inferior} object {inferior_piso_inferior} object {sup_piso_inferior} object {vidro_piso_inferior} difference { union { object {telhado_central_inf} object {telhado_central_sup} } object {telhado_central_inf translate <0,0,8>} } object {vidro_central} object {parte_central} object {vidro_do_meio} object {lateral_esquerda_inferior} object {vidro_lateral_esquerdo} object {lateral_direita_inferior} object {vidro_lateral_direito} object {pavimento} object {parte_superior} object {estrada_interior} object {estrada_capital} object {pilar_esquerdo} object {pilar_direito} object {pilar_pista1} object {pilar_pista2} object {pilar_pista3} object {pilar_pista4} object {risco_longo1} object {risco_longo2} object {risco_longo3} object {risco_longo4} object {continuacao_da_piramide1} object {continuacao_da_piramide2} object {continuacao_da_piramide3} object {continuacao_da_piramide4} difference { object { telhado_principal } union { object { telhado_principal translate <-5.0,8.0,3.0> rotate <30,0,0> scale <1.20,1.00,1.00> } object { telhado_principal translate <-5.0,-8.0,3.0> rotate <-30,0,0> scale <1.20,1.00,1.00>} } } difference { object { telhado_principal2 } union { object { telhado_principal2 translate <5.0,8.0,3.0> rotate <30,0,0> scale <1.20,1.00,1.00> } object { telhado_principal2 translate <5.0,-8.0,3.0> rotate <-30,0,0> scale <1.20,1.00,1.00>} } } object {morro} object {detalhe} object {detalhe translate <0,10.20,0> } object {detalhe translate <-71,10.20,0> } object {detalhe translate <-71,0,0> } difference { object {telhado_lateral_esq} box { < 20.00, -15.00, 10.00>, // Near lower left corner < 57.00, 15.00, 40.50> texture { tinta_white } } } difference { object {telhado_lateral_dir} box { < -20.00, -15.00, 10.00>, // Near lower left corner < -57.00, 15.00, 40.50> texture { tinta_white } } }