// Marco Antonio Leao RA: 971203 // Projeto Final de MC930 // Last edited on 2001-01-26 13:44:44 by stolfi // [J.Stolfi] Eliminado bitmaps que nao foram entregues #include "colors.inc" #include "glass.inc" #include "textures.inc" #include "woods.inc" #include "skies.inc" #include "stones.inc" #include "finish.inc" camera { sky <0,0,1> location <14, 23.5, 5> look_at <-4.5, -7, -9> } light_source { <6, 50, 10> color White } plane { z, 500 texture { pigment { SkyBlue } finish { ambient 0.8 diffuse 1} } texture { pigment { bozo turbulence 0.1 color_map { [0 White] [1 White filter 1] } } finish { ambient 1 diffuse 0 } scale <2000, 500, 500> rotate <5, 45, 0> } } #declare grama = texture { pigment { bozo colour_map { [ 0.00 color rgb <0.7, 0.9, 0.3> ] [ 0.33 color rgb <0.6, 0.8, 0.3> ] [ 0.66 color rgb <0.6, 0.95, 0.3> ] [ 1.00 color rgb <0.65, 0.7, 0.3> ] } } normal { bumps 0.9 scale 0.005 } finish { phong 1} } plane { z, -0.5 texture { grama } } #declare tijolo = texture { brick texture { pigment { color rgb <0.463, 0.392, 0.333> } finish { ambient 0.45 diffuse 0.4 specular 0.2 roughness 0.05 crand 0.1 } } texture { pigment { bozo colour_map { [ 0.33 color rgb <0.357, 0.216, 0.078> ] [ 0.66 color rgb <0.451, 0.302, 0.133> ] } turbulence 1 } finish { ambient 0.45 diffuse 0.35 specular 0.2 roughness 0.05 crand 0.15 } normal { average normal_map { [ 1 bozo 0.6 turbulence 0.75 ] [ 1 crackle 0.4 ] } scale 0.1 } } brick_size <1.35, 1, 1> mortar 0.15 scale 0.125 } #declare pedras = texture { brick texture { pigment { color rgb <0.620, 0.545, 0.459> } finish { ambient 0.45 diffuse 0.4 specular 0.2 roughness 0.05 crand 0.1 } } texture { pigment { bozo colour_map { [ 0.33 color rgb <0.796, 0.725, 0.611> ] [ 0.66 color rgb <0.620, 0.545, 0.459> ] } turbulence 1 } finish { ambient 0.45 diffuse 0.35 specular 0.2 roughness 0.05 crand 0.15 } normal { average normal_map { [ 1 bozo 0.6 turbulence 0.75 ] [ 1 crackle 0.4 ] } scale 0.1 } } brick_size <1.35, 1, 1.2> mortar 0.15 scale 0.125 } #declare telhado = texture { pigment { White } finish { ambient 0.4 diffuse 0.05 specular 0.15 roughness 0.1 } normal { average normal_map { [ 1.8 gradient y ramp_wave scale 0.20 ] [ 1 gradient z sine_wave scale 0.15 ] } } scale 1.2 } #declare telhado2 = texture { pigment { White } finish { ambient 0.4 diffuse 0.05 specular 0.15 roughness 0.1 } normal { average normal_map { [ 1.8 gradient x ramp_wave scale 0.20 ] [ 1 gradient z sine_wave scale 0.15 ] } } scale 1.2 } #declare logoantarctica = texture { pigment { // image_map { // [J. Stolfi] // png "antarctica.png" // [J. Stolfi] // map_type 0 // [J. Stolfi] // interpolate 2 // [J. Stolfi] // } // [J. Stolfi] color rgb < 1, 0.5, 0.5> // [J. Stolfi] } finish { ambient 0.45 diffuse 0.35 specular 0.15 roughness 0.75 metallic reflection 0.02 crand 0.01 } scale 1 } #declare lakehouse = texture { pigment { // image_map { // [J. Stolfi] // png "lakehouse.png" // [J. Stolfi] // map_type 0 // [J. Stolfi] // interpolate 2 // [J. Stolfi] // } // [J. Stolfi] color rgb < 1, 0.5, 0.5> // [J. Stolfi] } finish { ambient 0.45 diffuse 0.35 specular 0.15 roughness 0.75 metallic reflection 0.02 crand 0.01 } scale 1 } #declare chao1 = box { < -1, 18.0, -0.498 > < 12, 0.0, -0.5 > pigment { LightGrey } } #declare morrinho = box { < 12.5, 14.0, -0.505 > < 20, -40, -0.06 > texture { grama } } #declare subida = blob { threshold 0.65 cylinder { < 12.5, 14, -0.5 > < 12.5, -40.0, -0.5 >, 1, 1.0 } cylinder { < 11.5, 14, -1.0 > < 11.5, -40.0, -1.0 >, 1, 1.0 } cylinder { < 13.5, 14, -1.0 > < 13.5, -40.0, -1.0 >, 1, 1.0 } sphere { <12.3, 14.2, -0.8>, 0.7, 1 } texture { grama } scale 1 } #declare subida1 = blob { threshold 0.65 cylinder { < 20, 14, -0.5 > < 12.5, 14, -0.5 >, 1, 1.0 } cylinder { < 20, 13, -1.0 > < 12.5, 13, -1.0 >, 1, 1.0 } cylinder { < 20, 15, -1.0 > < 12.5, 15, -1.0 >, 1, 1.0 } sphere { <12.3, 14.2, -0.8>, 0.7, 1 } texture { grama } scale 1 } #declare haste = cylinder { < 13.5, 12.0, -0.5 > < 13.5, 12.0, 2.3 > 0.05 pigment { Black } } #declare placa1 = box { < 12.8, 11.85, 1.3 > < 14.2, 12.15, 1.1 > pigment { White } } #declare placa2 = box { < 13, 11.85, 1.45 > < 14, 12.15, 2.3 > pigment { White } } #declare painel = box { < 0, 0 ,-0.50 > < 0.6, 0.2, 0.7> texture { pedras } } #declare paredeatras1 = union { box { <1.73, 2, 0.28> <1.76 , 2.2, 1.03> texture {tijolo}} box { <2.19, 2, 0.28> <2.22 , 2.2, 1.03> texture {tijolo}} box { <1.73, 2, 1> <2.22 , 2.2, 1.03> texture {tijolo}} box { <1.73, 2, 0.25> <2.22 , 2.2, 0.28> texture {tijolo}} box { <1.76, 2.099, 0.33> <2.22 , 2.1, 1.0> texture {T_Glass2}} } #declare paredeatras2 = box { <1.76, 2, -0.5> <2.19, 2.2, 0.22> texture {tijolo} } #declare paredeatras = union { object {paredeatras1} object {paredeatras1 translate < 0.46, 0, 0>} object {paredeatras1 translate < 0.92, 0, 0>} object {paredeatras1 translate < 1.38 , 0, 0>} object {paredeatras1 translate < 1.84 , 0, 0>} object {paredeatras1 translate < 2.3 , 0, 0>} object {paredeatras2} object {paredeatras2 translate < -0.46, 0, 0>} object {paredeatras2 translate < -0.92, 0, 0>} object {paredeatras2 translate < 0.46, 0, 0>} object {paredeatras2 translate < 0.92, 0, 0>} object {paredeatras2 translate < 1.38, 0, 0>} object {paredeatras2 translate < 1.84, 0, 0>} object {paredeatras2 translate < 2.3, 0, 0>} object {paredeatras2 translate < 2.76, 0, 0>} object {paredeatras2 translate < 3.22, 0, 0>} } #declare extpav13 = box { < 1.78, 2.0, 0.27 > < 2.18, 2.2, 1.0 > texture { tijolo } } #declare tijfrente1 = box { < 5.6, 11.5, 0.35> < 7.4, 12.0, 0.38> texture { tijolo } } #declare tijfrente2 = box { < 5.6, 11.5, -0.5> < 5.63, 12.0, 0.35> texture { tijolo } } #declare tijfrente3 = box { < 5.97, 11.5, -0.5> < 6.0, 12.0, 0.35> texture { tijolo } } #declare tijfrente4 = box { < 7.0, 11.5, -0.5> < 7.03, 12.0, 0.35> texture { tijolo } } #declare tijfrente5 = box { < 7.37, 11.5, -0.5> < 7.4, 12.0, 0.35> texture { tijolo } } #declare tijfrente6 = box { < 5.6, 11.5, -0.08> < 6.0, 12.0, -0.05> texture { tijolo } } #declare tijfrente7 = box { < 7.0, 11.5, -0.08> < 7.4, 12.0, -0.05> texture { tijolo } } #declare tijfrente8 = box { < 5.4, 11.5, -0.5> < 5.6, 11.7, 0.23> texture { tijolo } } #declare tijfrente9 = box { < 7.4, 11.5, -0.5> < 7.6, 11.7, 0.23> texture { tijolo } } #declare tijfrente10 = box { < 6.0, 11.7, -0.5> < 7.0, 11.9, 0.38> texture { tijolo } } #declare diftijfrente10 = box { < 6.2, 11.3, -0.5> < 6.8, 12.0, 0.28> texture { tijolo } } #declare portafrente1 = box { < 6.2, 11.85, -0.5> < 6.22, 11.9, 0.28> pigment { Silver } } #declare portafrente2 = box { < 6.78, 11.85, -0.5> < 6.8, 11.9, 0.28> pigment { Silver } } #declare portafrente3 = box { < 6.2, 11.85, 0.26> < 6.495, 11.9, 0.28> pigment { Silver } } #declare portafrente4 = box { < 6.475, 11.85, -0.5> < 6.495, 11.9, 0.28> pigment { Silver } } #declare portafrente5 = box { < 6.505, 11.85, -0.5> < 6.525, 11.9, 0.28> pigment { Silver } } #declare portafrente6 = box { < 6.2, 11.85, -0.11> < 6.495, 11.9, -0.13> pigment { Silver } } #declare portafrente7 = box { < 6.505, 11.85, -0.11> < 6.8, 11.9, -0.13> pigment { Silver } } #declare portafrente8 = box { < 6.505, 11.85, 0.26> < 6.8, 11.9, 0.28> pigment { Silver } } #declare portafrente9 = box { < 6.2, 11.85, -0.5> < 6.495, 11.9, -0.48> pigment { Silver } } #declare portafrente10 = box { < 6.505, 11.85, -0.5> < 6.8, 11.9, -0.48> pigment { Silver } } #declare vidroportafrente1 = box { <6.2 , 11.87 , -0.11> <6.495, 11.88, 0.26> texture { T_Glass2 } } #declare vidroportafrente2 = box { <6.2 , 11.87 , -0.48> <6.495, 11.88, -0.13> texture { T_Glass2 } } #declare vidroportafrente3 = box { <6.505 , 11.87 , -0.11> <6.8, 11.88, 0.26> texture { T_Glass2 } } #declare vidroportafrente4 = box { <6.505 , 11.87 , -0.48> <6.8, 11.88, -0.13> texture { T_Glass2 } } #declare vidrofrente1 = box { <5.63 , 11.87 , -0.5> <5.97, 11.88, -0.05> texture { T_Glass2 } } #declare vidrofrente2 = box { <5.63 , 11.87 , -0.08> <5.97, 11.88, 0.35> texture { T_Glass2 } } #declare vidrofrente3 = box { <7.03 , 11.87 , -0.5> <7.37, 11.88, -0.05> texture { T_Glass2 } } #declare vidrofrente4 = box { <7.03 , 11.87 , -0.08> <7.37, 11.88, 0.35> texture { T_Glass2 } } #declare pavlateral1ext = cylinder { < +3.00, +2.00, -1.00 >, < +3.00, +10.00, -1.00 > 2.50 texture { telhado } } #declare pavcentralext = cylinder { < +6.50, 0.00, -0.50 >, < +6.50, +12.00, -0.50 > 1.50 texture { telhado } } #declare pavlateral2ext = cylinder { < +10.00, 2.00, -1.00 >, < +10.00, +10.00, -1.00 > 2.50 texture { telhado } } #declare parte1chamine1 = cylinder { < +6.50, 0.50, 0.50 >, < +6.50, 0.50, 1.30 > 0.1 pigment { Grey } } #declare parte2chamine1 = cylinder { < +6.50, 0.50, 1.25 >, < +6.50, 0.50, 1.4 > 0.25 pigment { Grey } } #declare parte3chamine1 = cone { < 6.50, 0.50, 1.4 >, 0.3 < 6.50, 0.50, 1.5 >, 0 pigment { Grey } } #declare chamine = union { object { parte1chamine1 } object { parte2chamine1 } object { parte3chamine1 } } // diferenca interna dos pavilhoes #declare pavlateral1int = cylinder { < +3.00, 1.00, -1.00 >, < +3.00, +11.00, -1.00 > 2.45 pigment { White } } #declare pavlateral2int = cylinder { < +10.00, 1.0, -1.00 >, < +10.00, +11.00, -1.00 > 2.45 pigment { White } } #declare pavcentralint = cylinder { < +6.50, -0.01, -0.50 >, < +6.50, +12.5, -0.50 > 1.45 pigment { White } } #declare diferenca_teto = box { < 4.5, -1.0, -0.6 > < 8.5, +12.01, 0.23 > pigment { Grey } } #declare telhado_anexo = box { < 0, 0.0, 0 > < 3.4, -1.5, 0.05 > texture { telhado2 } rotate < 8, 0, 0 > translate < 4.8, 0.0, 0.35 > } #declare diferenca_parede_anexo = box { < 0, 0, 0 > < 4.0, -2.5, 2 > pigment { White } rotate < 8, 0, 0 > translate < 5.0, 0.0, 0.37 > } #declare parede_anexo = box { < 5.3, 0.0, -0.5 > < 7.7, -1.2, 0.36 > texture { tijolo } } #declare paredelat1 = box { < 4.9, 12, -0.5 > < 5.4, -1.2, 0.23 > texture { tijolo } } #declare paredelat2 = box { < 7.6, 12, -0.5 > < 8.1, -1.2, 0.23 > texture { tijolo } } #declare correcaopavcent = box { <-1, 12.1, 0> <15, 1.0, 5> texture { tijolo } } #declare correcaovidrofrente1 = box { <-2.0, -2.0, -0.6> <15.0, 13.0, 5> texture { tijolo } } #declare correcaovidrofrente2 = box { <5.6, 12.1, 0> <7.4, 9.0, 0.38> texture { tijolo } } #declare vidrofrente = box { <6.505, 11.52, 0.23> <6.795, 11.53, 2> texture { T_Glass2 } } #declare arcondicionado = box { <5.8, 11.9, 0.38> <6.0, 11.75, 0.51> pigment { White } } #declare gradearcondicionado = box { <5.82, 11.905, 0.40> <5.98, 11.76, 0.49> pigment { Grey } } #declare vidrofrente5 = box { <7.03 , 11.87 , -0.05> <7.32, 11.88, 0.35> texture { T_Glass2 } } #declare murolateral = box { <10.87 , 9.50 , -0.05> <10.9, 10.00, 0.81> texture { tijolo } } #declare murolateral1 = box { <10.87 , 9.50 , 0.35> <11.54, 10.00, 0.38> texture { tijolo } } #declare detalhelateral = union { object { vidrofrente5 translate < 3.87, -2, 0 > } object { vidrofrente5 translate < 4.19, -2, 0 > } object { vidrofrente5 translate < 3.87, -2, 0.43 > } object { vidrofrente5 translate < 4.19, -2, 0.43 > } object { murolateral } object { murolateral translate < 0.32, 0, 0 > } object { murolateral translate < 0.64, 0, 0 > } object { murolateral1 } object { murolateral1 translate < 0, 0, 0.43 > } } #declare murolateralcanto = box { <10.87 , 9.50 , -0.5> <13.0, 10.00, -0.05> texture { tijolo } } #declare murolateralcorrigido1 = difference { object { murolateralcanto } difference { object { correcaovidrofrente1 } object { pavlateral2int } } } #declare murolateralcanto2 = box { <5 , 9.50 , -0.5> <9.1, 10.00, -0.05> texture { tijolo } } #declare murolateralcorrigido2 = difference { object { murolateralcanto2 } difference { object { correcaovidrofrente1 } object { pavlateral2int } } } #declare murolateralcanto3 = box { <11.54, 9.50 , -0.08> <12.0, 10.00, 0.38> texture { tijolo } } #declare murolateralcanto4 = box { <8 , 9.50 , -0.08> <8.46, 10.00, 0.38> texture { tijolo } } #declare vidrolateral = box { <9.5, 9.52, 0.38 > <9.828, 9.53, 0.815 > texture { T_Glass2 } } #declare vidrolateral1 = union { object { vidrolateral } object { vidrolateral translate < 0.338, 0, 0 > } object { vidrolateral translate < 0.671, 0, 0 > } object { vidrolateral translate < 0, 0, 0.445 > } object { vidrolateral translate < 0.338, 0, 0.445 > } object { vidrolateral translate < 0.671, 0, 0.445 > } } #declare fachadalateral = union { object { tijfrente1 } object { tijfrente2 } object { tijfrente3 } object { tijfrente4 } object { tijfrente5 } object { tijfrente6 } object { tijfrente7 } object { vidrofrente1 } object { vidrofrente2 } object { vidrofrente3 } object { vidrofrente4 } } #declare vidrosatras = union { object {vidrofrente translate < 0, -11.40, 0 > } object {vidrofrente translate < 0.3, -11.40, 0 > } object {vidrofrente translate < 0.6, -11.40, 0 > } object {vidrofrente translate < 0.9, -11.40, 0 > } object {vidrofrente translate < -0.3, -11.40, 0 > } object {vidrofrente translate < -0.6, -11.40, 0 > } object {vidrofrente translate < -0.9, -11.40, 0 > } object {vidrofrente translate < -1.2, -11.40, 0 > } } #declare vidrosfrente = union { object {vidrofrente } object {vidrofrente translate < 0.3, 0, 0 > } object {vidrofrente translate < 0.6, 0, 0 > } object {vidrofrente translate < 0.9, 0, 0 > } object {vidrofrente translate < -0.3, 0, 0 > } object {vidrofrente translate < -0.6, 0, 0 > } object {vidrofrente translate < -0.9, 0, 0 > } object {vidrofrente translate < -1.2, 0, 0 > } } #declare portaent = union { object { tijfrente1 } object { tijfrente2 } object { tijfrente3 } object { tijfrente4 } object { tijfrente5 } object { tijfrente6 } object { tijfrente7 } difference { object { tijfrente10 } object { diftijfrente10 } } object { portafrente1 } object { portafrente2 } object { portafrente3 } object { portafrente4 } object { portafrente5 } object { portafrente6 } object { portafrente7 } object { portafrente8 } object { portafrente9 } object { portafrente10 } object { vidroportafrente1 } object { vidroportafrente2 } object { vidroportafrente3 } object { vidroportafrente4 } object { vidrofrente1 } object { vidrofrente2 } object { vidrofrente3 } object { vidrofrente4 } } #declare fachadalateralcompleta = union { object { vidrolateral1 } object { fachadalateral translate < 3.5, -2, 0.88> } object { portaent translate < 3.5, -2, 0 > } object { detalhelateral } object { detalhelateral translate < -2.41, 0, 0 > } object { murolateralcorrigido1 } object { murolateralcorrigido2 } object { murolateralcanto3 } object { murolateralcanto4 } } #declare parte1cobertura = cylinder { < 0.1, 17, 2.0> < 1.6, 17, 2.0 > 1.0 pigment { White } } #declare parte2cobertura = box { < 0, 14, 1.5> < 1.7, 20, 10.0> pigment { White } } #declare parte3cobertura = cylinder { < 0.08, 17, 2.0> < 1.62, 17, 2.0 > 0.9 pigment { White } } #declare parte4cobertura = cylinder { < 0.3, 17, -0.6> < 0.3, 17, 1.0 > 0.03 pigment { Black } } #declare parte5cobertura = cylinder { < 1.4, 17, -0.6> < 1.4, 17, 1.0 > 0.03 pigment { Black } } #declare cobertura = union { difference { object { parte1cobertura } object { parte2cobertura } object { parte3cobertura } } object { parte4cobertura } object { parte5cobertura } } union { difference { object { pavlateral1ext } object { pavlateral1int } object { diferenca_teto } } difference { object { pavlateral2ext } object { pavlateral2int } object { diferenca_teto } } difference { object { pavcentralext } object { pavcentralint } object { diferenca_teto } } object { telhado_anexo } difference { object { parede_anexo } object { diferenca_parede_anexo } } difference { object { vidrosfrente } difference { object { correcaovidrofrente1 } object { pavcentralint } } object { correcaovidrofrente2 } } difference { object { vidrosatras } difference { object { correcaovidrofrente1 } object { pavcentralint } } } object { arcondicionado } object { arcondicionado translate < 1.2, 0, 0 > } object { gradearcondicionado } object { gradearcondicionado translate < 1.2, 0, 0 > } object { portaent } object { fachadalateralcompleta } object { fachadalateralcompleta translate < -7, 0, 0 > } object { tijfrente8 } object { tijfrente9 } object { paredelat1 } object { paredelat2 } difference { object { paredeatras translate < -0.1, 0, 0 > } difference { object { correcaovidrofrente1 } object { pavlateral1int } } } difference { object { paredeatras translate < 6.7, 0, 0 > } difference { object { correcaovidrofrente1 } object { pavlateral2int } } } object { chao1 } object { chamine } object { chamine translate < 0, 1, 0> } object { chamine translate < 3.5, 2, 0.5> } object { subida } object { subida1 } object { morrinho } object { haste } object { placa1 } object { placa2 } object { painel rotate <0, 0, 45> translate < 12.5, 17.5, 0> } object { cobertura } object { cobertura translate < 1.8, 0, -0.1> } object { cobertura translate < 3.6, 0, -0.2> } object { cobertura translate < 5.4, 0, -0.2> } object { cobertura translate < 7.2, 0, -0.1> } object { cobertura translate < 9, 0, 0> } }