// MC930 - Trabalho final parte 3 // Last edited on 2001-01-09 12:00:40 by Alencar N. S. Junior // MONUMENTO #include "textures.inc" #include "colors.inc" #include "stones.inc" #include "golds.inc" #include "stones1.inc" #include "stones2.inc" #include "metals.inc" #declare centro_do_monumento = < 0, 2, 5 >; //pontos para a superficie de Bezier #declare A1 = <1,4,2> #declare A2 = <2.5+0.5,4,2.6> #declare A3 = <2.7+1,3,2.8> #declare A4 = <3,2,3> #declare A5 = <1,4,1.6> #declare A6 = <2.5+0.5,4,2.2> #declare A7 = <2.7+1,3,2.4> #declare A8 = <3,2,2.6> #declare A9 = <1,4,1.3> #declare A10 = <2.5+0.5,4,1.9> #declare A11 = <2.7+1,3,2.1> #declare A12 = <3,2,2.3> #declare A13 = <1,4,1> #declare A14 = <2.5+0.5,4,1.6> #declare A15 = <2.7+1,3,1.8> #declare A16 = <3,2,2> #declare patchA = //Superficie de Bezier em si bicubic_patch { type 1 flatness 0.1 u_steps 4 v_steps 4, A1,A2,A3,A4, A5,A6,A7,A8, A9,A10,A11,A12, A13,A14,A15,A16 } #declare pedestal = union { object {patchA texture {pigment {color rgb<0,1,0>}}} box { <0,4,0> <1,3.5,2> texture{ T_Stone1 } } box { <0,0.5,0> <1,0,10> texture{ T_Stone1 } } } #declare estatua = cylinder { <0.5,0.25,2>, <0.5,0.25,3.5>, 0.25 texture {T_Chrome_1A} } #declare monumento = union { object{pedestal} object{estatua} } // PAVIMENTO #declare pavimento = plane{ z, -1 texture{ brick texture{T_Gold_1A}, texture{T_Stone4} // pigment{ checker // color rgb < 0.80, 0.90, 1.00 >, // color rgb < 0.20, 0.70, 1.00 > // } // finish{ diffuse 0.9 ambient 0.05 specular 0.3 roughness 0.1 } } } // FUNDO background { SkyBlue } // EIXOS #declare eixos_cartesianos = union { cylinder { <0,0,0>, <7,0,0>, 0.02 pigment { color rgb <1,0,0> } } cylinder { <0,0,0>, <0,7,0>, 0.02 pigment { color rgb <0,1,0> } } cylinder { <0,0,0>, <0,0,7>, 0.02 pigment { color rgb <0,0,1> } } } object { eixos_cartesianos } object { pavimento } object { monumento } // CÂMERA #declare centro_da_cena = centro_do_monumento; #declare raio_da_cena = 5.0; #declare direcao_da_camera = vnormalize( < 3, 2, 0.5 > ); #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 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 > }