// 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.25,1.6,0.6>,<-0.25,1.5,0.6>, 0.07 pigment {color Yellow}} cylinder{<-0.75,1.6,0.6>,<-0.75,1.5,0.6>, 0.07 pigment {color Yellow}} box {<0,0.12,0.85>, <0.05,0.42,0.98> pigment {color rgb<1 1 1>}} box {<0,0.62,0.85>, <0.05,0.92,0.98> pigment {color rgb<1 1 1>}} box {<0,1.12,0.85>, <0.05,1.42,0.98> pigment {color rgb<1 1 1>}} box {<-1,0.12,0.85>, <-1.05,0.42,0.98> pigment {color rgb<1 1 1>}} box {<-1,0.62,0.85>, <-1.05,0.92,0.98> pigment {color rgb<1 1 1>}} box {<-1,1.12,0.85>, <-1.05,1.42,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,1.25,0.5>, <-1.05,1.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>}} } // Chao-TERMINAL #declare chterm= box{ <7,6,-0.02>, <-6,-7,-0.04> pigment {color rgb <.8 .8 .8>}} // 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>, <3.4,6.2,2.1> pigment {color rgb <0 0 0>}} // GUARITA #declare guarita= union{ box { <2.5,5.79,0>, <1.8,5.1,1.2> pigment {color rgb <0.3 0.3 0.3>}} box { <2.51,5.75,.7>,<1.8,5.2,1.1> pigment {color rgb <1 1 1>}} box { <3,6.1,1.21>,<1.8,4.7,1.3> pigment {color rgb <.5 .6 .5>}} } //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>}} // REFEITORIO #declare refeit= difference { box { <-2.5,3.5,0>, <-4.5,5.6,1.8> pigment {color rgb <.5 .5 .5>}} box { <-2.4,3.8,0>, <-4,5.3,1.3> pigment {color rgb <0 0 0>}} } // 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 {chterm} object {calcada} object {rua} object { pavimento } object {guarita} 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.2,-.4,-.4> scale <0.9,0.9,1.3>} object {onibus translate <-0.5,2.5,-.4> scale <0.9,0.9,1.3>} object {onibus rotate <0,0,270> translate <2,8.2,-.4> scale <0.9,0.9,1.3>} 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 {refeit} 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.5; #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 > }