// MC930 - Exemplo de main.pov para o trabalho final // Created on 2000-12-14 09:07:40 by mc726 // Modified on 2000-12-14 by 970496 // Modified on 2000-12-21 by 970496 // EXERCICIO FINAL // By Daniel Salles de Araujo Dezembro de 2000 // // Lago da Praca do Basico - UNICAMP #include "colors.inc" #include "textures.inc" // Modificado de DMFWood1 do textures.inc #declare Madeira = pigment { wood turbulence 0.04 octaves 3 scale <0.05, .05, 1> color_map { [0.1 rgb <0.88, 0.60, 0.30>] [0.9 rgb <0.40, 0.30, 0.20>] } } #declare Cor_de_Pato = pigment { agate turbulence 0.02 octaves 3 scale <0.05, .05, 1> color_map { [0.1 rgb <0.88, 0.80, 0.70>] [0.9 rgb <1, 1, 0.95>] } } #declare Cor_de_Patinho = pigment { agate turbulence 0.05 octaves 3 scale <0.05, .05, 1> color_map { [0.1 rgb <0.88, 0.80, 0.10>] [0.9 rgb <1, 1, 0.2>] } } #declare centro_do_monumento = < 0, 0, 0 >; #declare tamanho_lago = 2.7; #declare monumento = sphere{ centro_do_monumento, 1 texture{ pigment{ color rgb < 1.00, 0.90, 0.05 > } finish{ diffuse 0.05 ambient 0.05 reflection 0.90 } } } // CÂMARA #declare centro_da_cena = centro_do_monumento; #declare raio_da_cena = 3; #declare direcao_da_camera = vnormalize( < 3, 2, 1 > ); #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 sky y look_at centro_da_cena } // PAVIMENTO #declare pavimento= plane { y, 0 pigment { color ForestGreen } normal { bumps 0.4 scale 0.2 } finish { ambient .3 diffuse .7 ambient 0.1 roughness 0.15 } } // FUNDO - Retirado do manual do pov-ray com algumas modificaçoes. sky_sphere { pigment { gradient y color_map { [0.000 0.002 color rgb <0.0, 0.2, 1.0> color rgb <0.0, 0.2, 0.1>] [0.002 0.200 color rgb <0.0, 0.1, 0.8> 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> } rotate -135*x } // 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 > } // Construcao do Monumento e Pedras do Centro do Lago #declare monumento= blob { threshold .2 sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.22, 1.43, 1.27> translate <1, 0, 0> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.4, 1.43, 1.3> translate <0, 0, 1> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.6, 1.43, 1.37> translate <-1, 0, -1> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <2.5, 0, 0> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.3, 1, 1.2> translate <0, 0, 2.5> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.2, 1.3, 1.5> translate <-1.5, 0, 1.5> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.4, 1.43, 1.3> translate <1.5, 0, -1.5> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.5, 1.43, 1> translate <0, 2, 0> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <0.75, 2, -0.5> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <1.7, 0, 0.5> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <0.65, 2, 1.3> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <0, 3, 0> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <0.5, 4, 1.7> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <1.3, 3, 0.65> } sphere { <0,0,0> 1, .8 texture {pigment {Gray30}} scale <1.12, 1.43, 1.17> translate <0, 5, 0> } } // Construcao do Lago propriamente dito #declare lago= union { difference { cylinder { <0,0,0>, <0,0.5,0>, 5.2 texture { pigment {Gray60} } } cylinder { <0,-1,0>, <0,1,0>, 5.0 } } difference { cylinder { <0, -1.5, 0>, <0, 0, 0>, 5.1 texture { pigment { Gray60} } } cylinder { <0, -2.5, 0>, <0, 0.5, 0>, 5.0 } } // Fundo (precisa?) cylinder { <0, -2, 0>, <0, -1.95, 0>, 5.0 texture {pigment {Gray60} } } // Disco externo difference { cylinder { <0,0,0>, <0, 0.3, 0>, 5.8 texture {pigment { Gray60} } } cylinder { <0,-0.1, 0>, <0, 0.4, 0>, 5.6 } } // Grama difference { cylinder { <0,0,0>, <0, 0.4, 0>, 5.6 texture { pigment { ForestGreen} } normal { bumps 0.4 scale 0.2 } finish {phong 1} } cylinder { <0,-0.1,0>, <0, 0.5, 0>, 5.2 } } // Abaixo: Agua! cylinder { <0,-1.95,0>, <0, -0.05, 0>, 4.7 texture { Water } } } #declare casa_pato= difference { box { <0,0,0>, <2.1,2.1,2.1> texture { Madeira } hollow } box { <1.9, 0, 0.6>, <2.2, 0.7, 1.5> } } #declare pato= union { sphere { <0, 0, 0> 2 scale <2.75, 1, 1> translate <0, 2.5, 0> texture { Cor_de_Pato } } sphere { <0, 0, 0> 1.5 translate <-3.5, 5, 0> texture { Cor_de_Pato } } sphere { <0, 0, 0> 0.3 pigment { Black } finish { phong 1} translate <-4.3, 5.3, -1.4> } sphere { <0, 0, 0> 0.3 pigment { Black } finish { phong 1} translate <-4.3, 5.3, 1.4> } cone { <0, 0, 0>, 0.4 <-0.52, -0.5, 1.5>, 0.1 open rotate y*-90 translate <-5, 4.9, 0> pigment { Orange } finish { phong 1} } } #declare patinho= union { sphere { <0, 0, 0> 2 scale <2.75, 1, 1> translate <0, 2.5, 0> texture { Cor_de_Patinho } } sphere { <0, 0, 0> 1.5 translate <-3.5, 5, 0> texture { Cor_de_Patinho } } sphere { <0, 0, 0> 0.3 pigment { Black } finish { phong 1} translate <-4.3, 5.3, -1.4> } sphere { <0, 0, 0> 0.3 pigment { Black } finish { phong 1} translate <-4.3, 5.3, 1.4> } cone { <0, 0, 0>, 0.4 <-0.52, -0.5, 1.5>, 0.1 open rotate y*-90 translate <-5, 4.9, 0> pigment { Orange } finish { phong 1} } } object { lago scale <1, 1, 1> * tamanho_lago translate <0, 1.5*tamanho_lago, 0> } object { monumento scale <1.2, 1.2, 1.2> translate <0, 2.4, 0> } object { casa_pato rotate 45*y scale <.7,.7,.7> translate < 6, 4, 6> } object { pato scale <.3,.3,.3> rotate y*120 translate <7,4,0> } object { patinho scale <.1,.1,.1> rotate y*120 translate <6, 4, -5> } object { patinho scale <.1,.1,.1> rotate y*120 translate <6, 4, -4> } object { pavimento }