// MC930 - Exemplo de main.pov para o trabalho final // Last edited on 2000-12-14 09:07:40 by mc726 #include "colors.inc" #include "stones.inc" // MONUMENTO #declare centro_do_monumento = < 0, 0, 0 >; // ONIBUS #declare onibus= union { box { <0,0,0.5>, <-1,1.5,1> pigment {color rgb <.8,.5,.5>}} box { <-0.2,1.52,0.75>, <-0.8,1.5,0.98> pigment {color rgb <1,1,1>}} cylinder { <0,0.25,0.5>, <0.05,0.25,0.5>, 0.15 pigment {color rgb <1,1,1>}} cylinder { <0,1.25,0.5>, <0.05,1.25,0.5>, 0.15 pigment {color rgb <1,1,1>}} cylinder { <-1,0.25,0.5>, <-1.05,0.25,0.5>, 0.15 pigment {color rgb <1,1,1>}} cylinder { <-1,0.25,0.5>, <-1.05,0.25,0.5>, 0.15 pigment {color rgb <1,1,1>}} } // TELHADO #declare telhado= box { <1,2,2.2>, <-4,-4,2.5> pigment {color rgb <.5 .6 .5>}} //COLUNA #declare coluna= box { <0,1.5,0>, <0.15,1.65,2.2> pigment {color rgb <.7 .7 .7>}} //BASE DAS COLUNAS #declare base_coluna= box { <0.8,2,0>, <-0.5,-4,.1> pigment {color rgb <.1 .1 .1>}} //BANQUINHO #declare banco= difference{ cylinder { <1,1,.3>, <1,1.4,.3>, 0.3 pigment {color rgb <0,0.1,1>} } box { <.7,0.89,.3>, <1.3,1.41,.6> pigment {color rgb <1 1 1>}} } // CERCA #declare cerca= difference { box { <7,6,0>, <-6,-7,1> pigment{ checker color rgb < 1.0, 1.0, 1.0 >, color rgb < 0, 0, 0 > scale <0.1,0.1,0.1> } } box { <6.9,5.9,-0.1>, <-5.9,-6.9,2.1> pigment {color rgb <0 0 0>}} } // PORTA #declare porta= box { <-1.9,5.8,-0.1>, <0,6.2,2.1> pigment {color rgb <0 0 0>}} // PORTA2 #declare porta2= box { <2,5.8,-0.1>, <2.5,6.2,2.1> pigment {color rgb <0 0 0>}} //CALCADA #declare calcada= difference { box { <9,6,0>, <-6,6.9,.2> pigment {color rgb <.8 .8 .8>} } box { <-1.9,5.9,-0.1>, <0,6.91,0.3> pigment {color rgb <0 0 0>}} } //RUA #declare rua= union { box { <9,6.91,-0.1>, <-6,8.8,0> pigment {color rgb <.3 .3 .3>}} box { <9,7.75,0.01>, <-6,7.8,0.02> pigment {color Yellow}} } // PESSOA #declare pessoa= union { cone { <1,0,0.1>, 0 <1,0,0.6>, 0.2 pigment {color rgb <0.5 0.8 0>}} sphere { <1,0,0.7>, 0.1 pigment {color rgb <0.9 0.9 0>}} scale <0.75,0.75,0.8> } // PAREDE #declare parede= box { <-4,-2,0>, <-4.2,3,2.2> pigment {color rgb <.5 .5 .5>}} // TELHADO2 #declare telhado2= box { <-3,-2,2>, <-4.2,3,2.2> pigment {color rgb <.5 .6 .5>}} // PAVIMENTO #declare pavimento = plane{ z, -1 pigment{ color rgb < 1, 1, 1 >} finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } // CEU plane { z, 500 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 <1000, 250, 250> rotate <5, 45, 0> } } // FUNDO background{ color rgb < 0.90, 0.92, 0.95 > } // EIXOS #declare eixos_cartesianos = union { cylinder { <0,0,0>, <1,0,0>, 0.02 pigment { color rgb <1,0,0> } } cylinder { <0,0,0>, <0,1,0>, 0.02 pigment { color rgb <0,1,0> } } cylinder { <0,0,0>, <0,0,1>, 0.02 pigment { color rgb <0,0,1> } } } difference { difference { object {cerca} object {porta} } object {porta2} } object {calcada} object {rua} object { pavimento } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <0.5,-4,0> } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <0.5,-1.5,0> } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <3,-4,0> } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <3,-1.5,0> } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <-4,-4,0> } union{ object {banco translate <0,1,0>} object {banco translate <0,1.44,0>} object {banco translate <0,1.88,0>} scale <.8,.8,.8> translate <-4,-1.5,0> } object {onibus translate <6.7,-.4,-.4> scale <0.8,0.8,1.2>} object {onibus translate <0,2.5,-.4> scale <0.8,0.8,1.2>} union { //object {pessoa} object {telhado} object {base_coluna translate <.3,0,0>} object {base_coluna translate <-1.7,0,0>} object {base_coluna translate <-5.5,1,0>} object {coluna} object {coluna translate <0,-1,0>} object {coluna translate <0,-2,0>} object {coluna translate <0,-3,0>} object {coluna translate <0,-4,0>} object {coluna translate <-2,0,0>} object {coluna translate <-2,-1,0>} object {coluna translate <-2,-2,0>} object {coluna translate <-2,-3,0>} object {coluna translate <-2,-4,0>} translate <2.5,0,0> scale <1.2,1,1> } object {parede} object {telhado2} object {pessoa} object {pessoa translate <-4,0,0>} object {pessoa translate <3,-1,0>} object {pessoa translate <3,-3,0>} // CÂMARA #declare centro_da_cena = centro_do_monumento; #declare raio_da_cena = 2.3; #declare direcao_da_camera = vnormalize( < 2, 2, 1 > ); #declare dist_da_camera = 9.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 rotate <0,0,15> } // ILUMINAÇÃO #declare direcao_da_luz = vrotate(direcao_da_camera, < 10, 10, 10 >); #declare intens_da_luz = 1.25; light_source { 20 * raio_da_cena * direcao_da_luz color rgb intens_da_luz * < 1, 1, 1 > } light_source { <-1,-1,0> color rgb < 1, 1, 1 > }