// 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 < 14.00, 7.00, 7.00 > // Posição do observador. right -0.60*x // Largura RELATIVA da imagem. up 0.45*y // Altura RELATIVA da imagem. sky z // 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 * < +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. } // ====================================================================== // 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 #include "nuvens.inc" //background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_laranja = texture{ pigment{ color rgb < 1.00, 0.50, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca_branca = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } finish{ diffuse 0.9 ambient 0.1 } } // ====================================================================== // DESCRIÇÃO DA CENA union{ #macro carro(espelho) #include "retalho.inc" //#local a11 = <10, 0, -2>; #local a12d = <10, 2, -2>; #local a12e = <10, -2, -2>; #local a11 = (a12d + a12e)/2; #local a12 = a12d; #local a13 = <10, 2.5, -2>; #local a14 = <9.5, 3, -2>; //#local a21 = <9, 0, 0>; #local a22d = <9, 2, -0.5>; #local a22e = <9, -2, -0.5>; #local a21 = (a22d + a22e)/2; #local a22 = a22d; #local a23 = <9, 3, -1>; #local a24 = <6, 3.5, -2>; //#local a31 = <8, 0, 1>; #local a32d = <8, 2, 0.8>; #local a32e = <8, -2, 0.8>; #local a31 = (a32d + a32e)/2; #local a32 = a32d; #local a33 = <8, 3, 0.5>; #local a34 = <9, 3.5, 0>; //#local b21 = <4, 0, 2>; #local b22d = <4, 2, 1>; #local b22e = <4, -2, 1>; #local b21 = (b22d + b22e)/2; #local b22 = b22d; #local b23 = <4, 3, 0.5>; #local b24 = <2, 3.5, 0>; //#local b31 = <2, 0, 2>; #local b32d = <2, 2, 1.5>; #local b32e = <2, -2, 1.5>; #local b31 = (b32d + b32e)/2; #local b32 = b32d; #local b33 = <2, 3, 0>; #local b34 = <4, 3.5, -2>; #local a41 = (a31 + b21)/2; #local a42 = (a32 + b22)/2; #local a43 = (a33 + b23)/2; #local a44 = (a34 + b24)/2; #local b11 = a41; #local b12 = a42; #local b13 = a43; #local b14 = a44; //#local c21 = <-2, 0, 2>; #local c22d =<-2, 2, 1.5>; #local c22e = <-2, -2, 1.5>; #local c21 = (c22d + c22e)/2; #local c22 = c22d; #local c23 = <-2, 3, 0>; #local c24 = <-5, 3.5, -2>; // -3 no x //#local c31 = <-4, 0, 2>; #local c32d =<-4, 2, 1>; #local c32e = <-4, -2, 1>; #local c31 = (c32d + c32e)/2; #local c32 = c32d; #local c33 = <-4, 3, 0.5>; #local c34 = <-3, 3.5, 0>;// +1 no x //#local d21 = <-8, 0, 1>; #local d22d =<-8, 2, 0.8>; #local d22e = <-8, -2, 0.8>; #local d21 = (d22d + d22e)/2; #local d22 = d22d; #local d23 = <-8, 3, 0.5>; #local d24 = <-10, 3.5, 0>;// -2 no x //#local d31 = <-9, 0, 0>; #local d32d =<-9, 2, -0.5>; #local d32e = <-9, -2, -0.5>; #local d31 = (d32d + d32e)/2; #local d32 = d32d; #local d33 = <-9, 3, -1>; #local d34 = <-7, 3.5, -2>; // +2 no x #local d41 = <-10, 0, -2>; #local d42 = <-10, 2, -2>; #local d43 = <-10, 2.5, -2>; #local d44 = <-9.5, 3, -2>; #local b41 = (b31 + c21)/2; #local b42 = (b32 + c22)/2; #local b43 = (b33 + c23)/2; #local b44 = (b34 + c24)/2; #local c11 = b41; #local c12 = b42; #local c13 = b43; #local c14 = b44; #local c41 = (c31 + d21)/2; #local c42 = (c32 + d22)/2; #local c43 = (c33 + d23)/2; #local c44 = (c34 + d24)/2; #local d11 = c41; #local d12 = c42; #local d13 = c43; #local d14 = c44; union{ retalho(a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, a41, a42, a43, a44, tx_fosca_branca, tx_fosca_laranja) retalho(b11, b12, b13, b14, b21, b22, b23, b24, b31, b32, b33, b34, b41, b42, b43, b44, tx_fosca_branca, tx_fosca_laranja) retalho(c11, c12, c13, c14, c21, c22, c23, c24, c31, c32, c33, c34, c41, c42, c43, c44, tx_fosca_branca, tx_fosca_laranja) retalho(d11, d12, d13, d14,d21, d22, d23, d24, d31, d32, d33, d34, d41, d42, d43, d44, tx_fosca_branca, tx_fosca_laranja) //translate <0,-2.5,1> //translate <-3,-6,0> //rotate 180*z //rotate -30*z scale 0.4 scale <1,espelho,1> } #end union{ //object{ eixos(3.00) } //o eixo é usado apenas durante a criação object {carro(-1)} object {carro(1)} } }