// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2009-03-09 18:44:03 by stolfi // ====================================================================== // CÂMERA camera{ location < -10, 10, 23 > // Posição do observador. right -0.64*x // Largura RELATIVA da imagem. up 0.48*y // Altura RELATIVA da imagem. sky y // Qual direção é "para cima"? look_at < 0.00, 0.00, 0.00 > // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source{ 10 * < 0.0, +30.0, +50.0 > // Posição da lâmpada. color rgb 1.0 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source{ 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // EIXOS DE COORDENADAS #macro eixo(ponta,cor,nome) union{ sphere{ <0,0,0>, 0.02 } cylinder{ <0,0,0>, 0.91*ponta, 0.02 } cone{ 0.90*ponta, 0.06, ponta, 0.00 } texture{ pigment{ color rgb cor } finish{ ambient 0.5 diffuse 0.5 } } } #end #macro eixos(tamanho) union{ object{ eixo( , <1.0,0.2,0.2>, "X") } object{ eixo( <0,tamanho,0>, <0.0,0.8,0.0>, "Y") } object{ eixo( <0,0,tamanho>, <0.3,0.3,1.0>, "Z") } } #end #include "retalho.inc" #include "nuvens.inc" // ====================================================================== // CORES E TEXTURAS //background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_azul = texture{ pigment{ color rgb < 0,0,1 > } finish{ diffuse 0.1 ambient 0.1 reflection 0.8*< 1,1,1 > } } #declare tx_madeira = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_ferro = texture{ pigment{ color rgb < 0.6, 0.6, 0.6 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 reflection 0.1*< 0.6, 0.6, 0.6 > } } #declare tx_plastico = texture{ pigment{ color rgb < 1,1,1 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 reflection 0.1*< 0.6, 0.6, 0.6 > } } #declare tx_fosca = texture{ pigment{ color rgb < 0.92,0.8,0.51 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.97, 0.98, 1.00 > filter 0.20 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA //------- OBJETOS ----------- #macro carro() #declare p0_41 = < -5,1.01,3 >; #declare p0_42 = < -5,2,3 >; #declare p0_43 = < -4,2.5,3 >; /*#declare p0_44 = < -3,2,3 >;*/ //TOPO (esq, cen_esq, cen_dir, dir) #declare p0_31 = < -5,0.7,3 >; #declare p0_32 = < -5,2,1 >; #declare p0_33 = < -4,2,0.3 >; /*#declare p0_34 = < -3,2,0 >;*/ //MEIO TOPO (esq, cen_esq, cen_dir, dir) #declare p0_21 = < -5,0.3,3 >; #declare p0_22 = < -5,1,0 >; #declare p0_23 = < -4,1,0 >; /*#declare p0_24 = < -3,1,0 >;*/ //MEIO BASE (esq, cen_esq, cen_dir, dir) #declare p0_11 = < -5,0,3 >; #declare p0_12 = < -5,0,0 >; #declare p0_13 = < -4,0,0 >; /*#declare p0_14 = < -3,0,0 >;*/ //BASE (esq, cen_esq, cen_dir, dir) /*#declare p1_41 = < -3,3,0 >;*/ #declare p1_42 = < -2,3.5,3 >; #declare p1_43 = < -1,3.5,3 >; /*#declare p1_44 = < 0,2.7,3 >;*/ //TOPO (esq, cen_esq, cen_dir, dir) /*#declare p1_31 = < -3,2,0 >;*/ #declare p1_32 = < -2,3.5,-1 >; #declare p1_33 = < -1,3.5,-1 >; /*#declare p1_34 = < 0,2,0 >;*/ //MEIO TOPO (esq, cen_esq, cen_dir, dir) /*#declare p1_21 = < -3,1,0 >;*/ #declare p1_22 = < -2,1,0 >; #declare p1_23 = < -1,1,0 >; /*#declare p1_24 = < 0,1,0 >;*/ //MEIO BASE (esq, cen_esq, cen_dir, dir) /*#declare p1_11 = < -3,0,0 >;*/ #declare p1_12 = < -2,0.8,0 >; #declare p1_13 = < -1,0,0 >; /*#declare p1_14 = < 0,0,0 >;*/ //BASE (esq, cen_esq, cen_dir, dir) /*#declare p2_41 = < 0,3,0 >;*/ #declare p2_42 = < 1,3,3 >; #declare p2_43 = < 2,3,3 >; /*#declare p2_44 = < 3,2.2,3 >;*/ //TOPO (esq, cen_esq, cen_dir, dir) /*#declare p2_31 = < 0,2,0 >;*/ #declare p2_32 = < 1,3,-1 >; #declare p2_33 = < 2,3,-1 >; /*#declare p2_34 = < 3,2,0 >;*/ //MEIO TOPO (esq, cen_esq, cen_dir, dir) /*#declare p2_21 = < 0,1,0 >;*/ #declare p2_22 = < 1,1,0 >; #declare p2_23 = < 2,1,0 >; /*#declare p2_24 = < 3,1,0 >;*/ //MEIO BASE (esq, cen_esq, cen_dir, dir) /*#declare p2_11 = < 0,0,0 >;*/ #declare p2_12 = < 1,0,0 >; #declare p2_13 = < 2,0,0 >; /*#declare p2_14 = < 3,0,0 >;*/ //BASE (esq, cen_esq, cen_dir, dir) /*#declare p3_41 = < 3,3,0 >;*/ #declare p3_42 = < 4,2,3 >; #declare p3_43 = < 7,3,3 >; #declare p3_44 = < 6,0,3 >; //TOPO (esq, cen_esq, cen_dir, dir) /*#declare p3_31 = < 3,2,0 >;*/ #declare p3_32 = < 4,2,0 >; #declare p3_33 = < 7,3,0.5 >; #declare p3_34 = < 6,0,2 >; //MEIO TOPO (esq, cen_esq, cen_dir, dir) /*#declare p3_21 = < 3,1,0 >;*/ #declare p3_22 = < 4,1,0 >; #declare p3_23 = < 7,2,-1 >; #declare p3_24 = < 6,0,1 >; //MEIO BASE (esq, cen_esq, cen_dir, dir) /*#declare p3_11 = < 3,0,0 >;*/ #declare p3_12 = < 4,0,0 >; #declare p3_13 = < 5,0.8,0 >; #declare p3_14 = < 6,0,0 >; //BASE (esq, cen_esq, cen_dir, dir) #declare p0_44 = (p1_42+p0_43)/2; #declare p0_34 = (p1_32+p0_33)/2; #declare p0_24 = (p1_22+p0_23)/2; #declare p0_14 = (p1_12+p0_13)/2; #declare p1_41 = (p1_42+p0_43)/2; #declare p1_31 = (p1_32+p0_33)/2; #declare p1_21 = (p1_22+p0_23)/2; #declare p1_11 = (p1_12+p0_13)/2; #declare p1_44 = (p2_42+p1_43)/2; #declare p1_34 = (p2_32+p1_33)/2; #declare p1_24 = (p2_22+p1_23)/2; #declare p1_14 = (p2_12+p1_13)/2; #declare p2_41 = (p2_42+p1_43)/2; #declare p2_31 = (p2_32+p1_33)/2; #declare p2_21 = (p2_22+p1_23)/2; #declare p2_11 = (p2_12+p1_13)/2; #declare p2_44 = (p3_42+p2_43)/2; #declare p2_34 = (p3_32+p2_33)/2; #declare p2_24 = (p3_22+p2_23)/2; #declare p2_14 = (p3_12+p2_13)/2; #declare p3_41 = (p3_42+p2_43)/2; #declare p3_31 = (p3_32+p2_33)/2; #declare p3_21 = (p3_22+p2_23)/2; #declare p3_11 = (p3_12+p2_13)/2; union { object { retalho(p0_11, p0_12, p0_13, p0_14, p0_21, p0_22, p0_23, p0_24, p0_31, p0_32, p0_33, p0_34, p0_41, p0_42, p0_43, p0_44, tx_fosca, tx_azul) } object { retalho(p1_11, p1_12, p1_13, p1_14, p1_21, p1_22, p1_23, p1_24, p1_31, p1_32, p1_33, p1_34, p1_41, p1_42, p1_43, p1_44, tx_fosca, tx_azul) } object { retalho(p2_11, p2_12, p2_13, p2_14, p2_21, p2_22, p2_23, p2_24, p2_31, p2_32, p2_33, p2_34, p2_41, p2_42, p2_43, p2_44, tx_fosca, tx_azul) } object { retalho(p3_11, p3_12, p3_13, p3_14, p3_21, p3_22, p3_23, p3_24, p3_31, p3_32, p3_33, p3_34, p3_41, p3_42, p3_43, p3_44, tx_fosca, tx_azul) } } #end //------- CENA ----------- union { object { eixos(3.00) } object { carro() } object { carro() scale < 1,1,-1 > translate < 0,0,6 > } rotate -45*y /*rotate 30*z rotate -30*x*/ }