// MONUMENTO #declare centro_do_monumento = <0, 0, 1> #declare cilindro = cylinder{ <0, 0, 0>, <0, 0, 0.8>, 1 texture{ pigment{ color rgb < 1.00, 0.95, 0.85 > } } } #declare teto = cylinder{ <0, 0, 0.8>, <0, 0, 1.1>, 1.3 texture{ pigment{ color rgb < 1.00, 0.90, 0.40 > } } } #declare esfera = sphere{ <0, 0, 1.1>, 1 texture{ pigment{ color rgb < 0.30, 0.30, 0.05 > } } } #declare risco = cylinder{ <-0.01, 0, 1.1>, <0.01, 0, 1.1>, 1.02 texture{ pigment{ color rgb < 0.30, 0.30, 0.05 > } } } #declare parada = cylinder{ <0, -0.5, 1.1>, <0, 0.5, 1.1>, 1.1 texture{ pigment{ color rgb < 0.30, 0.30, 0.05 > } } } #declare limite = box{ <0, -0.51, 1.1>, <1.1, 0.51, 2.2> } #declare fimparada = cylinder{ <0, -0.6, 1.1>, <0, 0.6, 1.1>, 1.09 } #declare furo = box{ <0.2, -0.2, 1>, <1.08, 0.2, 2.2> } #declare barra = cylinder{ <0, -0.75, 2.2>, <0, 0.75, 2.2>, 0.03 texture{ pigment{ color rgb < 0.30, 0.30, 0.05 > } } } #declare barra2 = cylinder{ <1.07, -0.75, 1.1>, <1.07, -0.2, 1.1>, 0.03 texture{ pigment{ color rgb < 0.30, 0.30, 0.05 > } } } #declare viga = box{ <1, 0.03, 0>, <1.15, -0.03, 0.8> texture{ pigment{ color rgb < 1.00, 0.90, 0.40 > } } } #declare furojanela = box{ <-0.08, 0.9, 0.35>, <0.08, 1.1, 0.51> } #declare boxjanela = box{ <-0.08, 0.93, 0.35>, <0.08, 1.0, 0.51> texture{ pigment{ color rgb < 1.00, 0.95, 0.85 > } } } #declare fimboxjanela = box{ <-0.07, 0.9, 0.36>, <0.07, 1.1, 0.5> texture{ pigment{ color rgb < 1.00, 0.95, 0.85 > } } } // PAVIMENTO #declare pavimento = plane{ z, 0 texture{ pigment{ color rgb < 0.1, 0.8, 0.1 > } normal { bumps 0.8 scale 0.08 } } } // FUNDO background{ color rgb < 0.90, 0.92, 0.95 > } // EIXOS #declare eixos_cartesianos = union { cylinder { <0,0,0>, <1.1,0,0>, 0.02 pigment { color rgb <1,0,0> } } cylinder { <0,0,0>, <0,1.1,0>, 0.02 pigment { color rgb <0,1,0> } } cylinder { <0,0,0>, <0,0,1.1>, 0.02 pigment { color rgb <0,0,1> } } } object { eixos_cartesianos } object { pavimento } union { difference { object { cilindro } object { furojanela rotate <0, 0, 60> } object { furojanela rotate <0, 0, 180> } object { furojanela rotate <0, 0, 300> } } difference { object { boxjanela rotate <0, 0, 60> } object { fimboxjanela rotate <0, 0, 60> } } difference { object { boxjanela rotate <0, 0, 180 > } object { fimboxjanela rotate <0, 0, 180 > } } difference { object { boxjanela rotate <0, 0, 300 > } object { fimboxjanela rotate <0, 0, 300 > } } } object { teto } difference { union { object { esfera } object { risco } object { risco rotate <0, 0, 10>} object { risco rotate <0, 0, 20>} object { risco rotate <0, 0, 30>} object { risco rotate <0, 0, 40>} object { risco rotate <0, 0, 50>} object { risco rotate <0, 0, 60>} object { risco rotate <0, 0, 70>} object { risco rotate <0, 0, 80>} object { risco rotate <0, 0, 90>} object { risco rotate <0, 0, 100>} object { risco rotate <0, 0, 110>} object { risco rotate <0, 0, 120>} object { risco rotate <0, 0, 130>} object { risco rotate <0, 0, 140>} object { risco rotate <0, 0, 150>} object { risco rotate <0, 0, 160>} object { risco rotate <0, 0, 170>} intersection { difference { object { parada } object { fimparada } } object { limite } } } object { furo } } intersection { difference { object { parada } object { esfera } object { furo texture{ pigment{ color rgb < 0.25, 0.25, 0.05 > } } } } object { furo texture{ pigment{ color rgb < 0.25, 0.25, 0.05 > } } scale <0.99, 1.01, 1.01> } } object { barra } object { barra2 translate <0, 0, -1.1> rotate <0, -13, 0> translate <0, 0, 1.1> } object { viga } object { viga rotate <0, 0, 60>} object { viga rotate <0, 0, 120>} object { viga rotate <0, 0, 180>} object { viga rotate <0, 0, 240>} object { viga rotate <0, 0, 300>} // CÂMARA #declare centro_da_cena = centro_do_monumento; #declare raio_da_cena = 1.0; #declare direcao_da_camera = vnormalize( < 3, 2, -0.2 > ); #declare dist_da_camera = 6.0 * raio_da_cena #declare pos_da_camera = centro_da_cena + dist_da_camera * direcao_da_camera; camera { location pos_da_camera right < -0.64, 0.00, 0.00 > up < 0.00, 0.48, 0.00 > sky z look_at centro_da_cena } // ILUMINAÇÃO #declare intens_da_luz = 1.25; light_source { <250, 250, 250> color rgb intens_da_luz * < 1, 1, 1 > } // HORIZONTE sky_sphere { pigment { gradient y color_map { [0.000 0.002 color rgb <1.0, 0.2, 0.0> color rgb <1.0, 0.2, 0.0>] [0.002 0.200 color rgb <0.8, 0.1, 0.0> color rgb <0.2, 0.2, 0.3>] } scale 2 translate -1 } pigment { bozo turbulence 0.65 octaves 6 omega 0.7 lambda 2 color_map { [0.0 0.1 color rgb <0.85, 0.85, 0.85> color rgb <0.75, 0.75, 0.75>] [0.1 0.5 color rgb <0.75, 0.75, 0.75> color rgbt <1, 1, 1, 1>] [0.5 1.0 color rgbt <1, 1, 1, 1> color rgbt <1, 1, 1, 1>] } scale <0.2, 0.5, 0.2> } }