// 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 < 6.00, 40.00, 5.0 > // Posição do observador. right -0.45*x // Largura RELATIVA da imagem. up 0.60*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 6.00, 0.00, 1.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 * < +50.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. } light_source{ 10 * < 0.0, 0.0, -20.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 // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_preta = texture{ pigment{ color rgb < 0.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_azul = texture{ pigment{ color rgb < 0.00, 0.00, 1.00 > } finish{ ambient 0.2 diffuse 0.3 reflection 0.5 * <1,1,1> } } #declare tx_fosca_branca = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_vermelha = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ ambient 0.2 diffuse 0.3 reflection 0.5 * <1,1,1> } } #declare tx_fosca_verde = texture{ pigment{ color rgb < 0.00, 1.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca2 = texture{ pigment{ color rgb < 1.00, 0.10, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.90, 0.70 > } finish{ diffuse 0.1 reflection 0.8*< 1.00, 0.90, 0.70 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.97, 0.98, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA #include "retalho.inc" #macro carro() #declare a11 = <0, 1, 1>; #declare a12 = <0, 2, 1>; #declare a13 = <0, 3, 1>; #declare a14 = <0, 4, 1>; #declare a21 = <2, 1, 3>; #declare a22 = <2, 2, 3>; #declare a23 = <2, 3, 3>; #declare a24 = <2, 4, 1>; #declare a31 = <3, 1, 3>; #declare a32 = <3, 2, 3>; #declare a33 = <3, 3, 3>; #declare a34 = <3, 4, 1>; #declare b21 = <4, 1, 3>; #declare b22 = <4, 2, 3>; #declare b23 = <4, 3, 3>; #declare b24 = <4, 4, 2>; #declare a41 = (a31 + b21) / 2; //<4, 1, 1>; #declare a42 = (a32 + b22) / 2; //<4, 2, 1>; #declare a43 = (a33 + b23) / 2; //<4, 3, 1>; #declare a44 = (a34 + b24) / 2; //<4, 4, 1>; #declare b11 = a41; //<4, 1, 1>; #declare b12 = a42; //<4, 2, 1>; #declare b13 = a43; //<4, 3, 1>; #declare b14 = a44; //<4, 4, 1>; #declare b31 = <5, 1, 3>; #declare b32 = <5, 2, 3>; #declare b33 = <5, 3, 3>; #declare b34 = <5, 4, 1>; #declare c21 = <8, 1, 3>; #declare c22 = <8, 2, 3>; #declare c23 = <8, 3, 2>; #declare c24 = <8 4, 1>; #declare b41 = (b31 + c21) / 2; //<7, 1, 1>; #declare b42 = (b32 + c22) / 2;//<7, 2, 1>; #declare b43 = (b33 + c23) / 2;//<7, 3, 1>; #declare b44 = (b34 + c24) / 2;//<7, 4, 1>; #declare c11 = b41; // <7, 1, 1>; #declare c12 = b42; //<7, 2, 1>; #declare c13 = b43; //<7, 3, 1>; #declare c14 = b44; //<7, 4, 1>; #declare c31 = <9, 1, 3>; #declare c32 = <9, 2, 3>; #declare c33 = <9, 3, 2>; #declare c34 = <9, 4, 2>; #declare d21 = <11, 1, 3>; #declare d22 = <11, 2, 3>; #declare d23 = <11, 3, 2>; #declare d24 = <11, 4, 1>; #declare c41 = (c31 + d21) / 2; //<10, 1, 1>; #declare c42 = (c32 + d22) / 2;//<10, 2, 1>; #declare c43 = (c33 + d23) / 2;//<10, 3, 1>; #declare c44 = (c34 + d24) / 2;//<10, 4, 1>; #declare d11 = c41; //<10, 1, 1>; #declare d12 = c42; //<10, 2, 1>; #declare d13 = c43; //<10, 3, 1>; #declare d14 = c44; //<10, 4, 1>; #declare d31 = <12, 1, 3>; #declare d32 = <12, 2, 3>; #declare d33 = <12, 3, 3>; #declare d34 = <12, 4, 1>; #declare d41 = <14, 1, 1>; #declare d42 = <14, 2, 1>; #declare d43 = <14, 3, 1>; #declare d44 = <14, 4, 1>; union { retalho(a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44, tx_fosca, tx_fosca_azul) retalho(b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, tx_fosca_verde, tx_fosca_vermelha) retalho(c11, c12, c13, c14, c21, c22, c23, c24, c31, c32, c33, c34, c41, c42, c43, c44, tx_fosca, tx_fosca_azul) retalho(d11, d12, d13, d14, d21, d22, d23, d24, d31, d32, d33, d34, d41, d42, d43, d44, tx_fosca_verde, tx_fosca_preta) } #end // declaração da cena //#include "nuvens.inc" union { eixos(4.00) object{ carro() } object{ carro() scale <1, -1, 1> translate <0, 2, 0>} }