// 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 1.3*< 14.00, 8.00, 2.50 > // Posição do observador. right -0.60*x // Largura RELATIVA da imagem. up 0.60*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < 0.00, 1.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 background{ color rgb <0.75, 0.80, 0.85> } #declare tx_carro = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.5 reflection 0.8*<1,1,1> ambient 0.1} } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.3 ambient 0.2 } } #declare tx_mamao = texture{ pigment{ color rgb < 0.90, 0.50, 0.20 > } finish{ diffuse 0.3 ambient 0.2 } } #declare tx_olho = texture{ pigment{ color rgb < 0, 0.8, 1 > } finish{ diffuse 0.8 ambient 0.2 } } #declare tx_orelha = texture{ pigment{ color rgb < 0.2, 0.5, 0.8 > } finish{ diffuse 0.8 ambient 0.2 } } #declare tx_pele = texture{ pigment{ color rgb < 0.92, 0.83, 0.80 > } finish{ diffuse 0.6 ambient 0.2 } } #declare tx_nariz = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 1 ambient 0.2 } } #declare tx_boca = texture{ pigment{ color rgb < 1, 0, 0 > } finish{ diffuse 4 ambient 0.2 } } // ====================================================================== // DESCRIÇÃO DA CENA #include "retalho.inc" #include "nuvens.inc" //bg_color{} //************************************************************************************PONTOS QUADRO 1 #declare ck0 = 0.0; //retalho1 #declare p11_1_01 = <-6,0,0>;//ponto esquerda baixo #declare p12_1_01 = <-5,0,3>;//esquerda baixo #declare p13_1_01 = <-3.5,0,0>;//direita baixo #declare p14_1_01 = <-3,0,0>;//ponto direita baixo #declare p21_1_01 = <-6,0.4,3>;//esquerda baixo #declare p22_1_01 = <-5,0.4,3>;//central baixo #declare p23_1_01 = <-4,0.4,3>;//central baixo translate<-1,trans,0> #declare p24_1_01 = <-3,0.4,3>;//direita baixo #declare p31_1_01 = <-6,2,2>;//esquerda cima #declare p32_1_01 = <-5,2,2>;//central cima #declare p33_1_01 = <-4,2,2>;//central cima #declare p34_1_01 = <-3,2,2>;//direita cima #declare p41_1_01 = <-6,3,2>;//ponto esquerda cima #declare p42_1_01 = <-5,3,2>;//esquerda cima #declare p43_1_01 = <-4,3,2>;//direita cima #declare p44_1_01 = <-3,3,2>;//ponto direita cima //retalho2 #declare p11_2_01 = <-3,0,0>;//ponto esquerda baixo #declare p12_2_01 = <-2,0,0>;//esquerda baixo #declare p13_2_01 = <-1,0,0>;//direita baixo #declare p14_2_01 = <0,0,0>;//ponto direita baixo #declare p21_2_01 = <-3,0.4,1>;//esquerda baixo #declare p22_2_01 = <-2,0.4,2>;//central baixo #declare p23_2_01 = <-1,0.4,2>;//central baixo #declare p24_2_01 = <0,0.4,1>;//direita baixo #declare p31_2_01 = <-3,2,2>;//esquerda cima #declare p32_2_01 = <-2,2,2>;//central cima #declare p33_2_01 = <-1,2,2>;//central cima #declare p34_2_01 = <0,2,0>;//direita cima #declare p41_2_01 = <-3,3,1>;//ponto esquerda cima #declare p42_2_01 = <-2,3,1>;//esquerda cima #declare p43_2_01 = <-1,3,1>;//direita cima #declare p44_2_01 = <0,3,0>;//ponto direita cima //retalho 3 #declare p11_3_01 = <0,0,0>;//ponto esquerda baixo #declare p12_3_01 = <1,0,0>;//esquerda baixo #declare p13_3_01 = <2,0,1.5>;//direita baixo #declare p14_3_01 = <3,0,0>;//ponto direita baixo #declare p21_3_01 = <0,1,1>;//esquerda baixo #declare p22_3_01 = <1,1,1>;//central baixo #declare p23_3_01 = <2,1,1>;//central baixo #declare p24_3_01 = <3,1,0>;//direita baixo #declare p31_3_01 = <0,2,1>;//esquerda cima #declare p32_3_01 = <1,2,1>;//central cima #declare p33_3_01 = <2,2,1>;//central cima #declare p34_3_01 = <3,2,0>;//direita cima #declare p41_3_01 = <0,3,1>;//ponto esquerda cima #declare p42_3_01 = <1,3,1>;//esquerda cima #declare p43_3_01 = <2,3,1>;//direita cima #declare p44_3_01 = <3,3,0>;//ponto direita cima //retalho4 #declare p11_4_01 = <3,0,0>;//ponto esquerda baixo #declare p12_4_01 = <4,0,0>;//esquerda baixo #declare p13_4_01 = <5,0,0>;//direita baixo #declare p14_4_01 = <6,0,0>;//ponto direita baixo #declare p21_4_01 = <3,1,1>;//esquerda baixo #declare p22_4_01 = <4,1,1>;//central baixo #declare p23_4_01 = <5,1,1>;//central baixo #declare p24_4_01 = <6,1,0>;//direita baixo #declare p31_4_01 = <3,2,1>;//esquerda cima #declare p32_4_01 = <4,2,1>;//central cima #declare p33_4_01 = <5,2,1>;//central cima #declare p34_4_01 = <6,2,0>;//direita cima #declare p41_4_01 = <3,3,1>;//ponto esquerda cima #declare p42_4_01 = <4,3,1>;//esquerda cima #declare p43_4_01 = <5,3,1>;//direita cima #declare p44_4_01 = <6,3,0>;//ponto direita cima //encontros //R1R2 #declare p14_p11_R1R2_01 = (p13_1_01+p12_2_01)/2; #declare p24_p21_R1R2_01 = (p23_1_01+p22_2_01)/2; #declare p34_p31_R1R2_01 = (p33_1_01+p32_2_01)/2; #declare p44_p41_R1R2_01 = (p43_1_01+p42_2_01)/2; //R2R3 #declare p14_p11_R2R3_01 = (p13_2_01+p12_3_01)/2; #declare p24_p21_R2R3_01 = (p23_2_01+p22_3_01)/2; #declare p34_p31_R2R3_01 = (p33_2_01+p32_3_01)/2; #declare p44_p41_R2R3_01 = (p43_2_01+p42_3_01)/2; //R3R4 #declare p14_p11_R3R4_01 = (p13_3_01+p12_4_01)/2; #declare p24_p21_R3R4_01 = (p23_3_01+p22_4_01)/2; #declare p34_p31_R3R4_01 = (p33_3_01+p32_4_01)/2; #declare p44_p41_R3R4_01 = (p43_3_01+p42_4_01)/2; //************************************************************************************PONTOS QUADRO 2 //retalho1 #declare ck1 = 0.25; #declare p11_1_02 = <0.5,1,1.5>*<-6,0,0>;//ponto esquerda baixo #declare p12_1_02 = <0.5,1,1.5>*<-5,0,3>;//esquerda baixo #declare p13_1_02 = <0.5,1,1.5>*<-3.5,0,0>;//direita baixo #declare p14_1_02 = <0.5,1,1.5>*<-3,0,0>;//ponto direita baixo #declare p21_1_02 = <0.5,1,1.5>*<-6,0.4,3>;//esquerda baixo #declare p22_1_02 = <0.5,1,1.5>*<-5,0.4,3>;//central baixo #declare p23_1_02 = <0.5,1,1.5>*<-4,0.4,3>;//central baixo #declare p24_1_02 = <0.5,1,1.5>*<-3,0.4,3>;//direita baixo #declare p31_1_02 = <0.5,1,1.5>*<-6,2,2>;//esquerda cima #declare p32_1_02 = <0.5,1,1.5>*<-5,2,2>;//central cima #declare p33_1_02 = <0.5,1,1.5>*<-4,2,2>;//central cima #declare p34_1_02 = <0.5,1,1.5>*<-3,2,2>;//direita cima #declare p41_1_02 = <0.5,1,1.5>*<-6,3,2>;//ponto esquerda cima #declare p42_1_02 = <0.5,1,1.5>*<-5,3,2>;//esquerda cima #declare p43_1_02 = <0.5,1,1.5>*<-4,3,2>;//direita cima #declare p44_1_02 = <0.5,1,1.5>*<-3,3,2>;//ponto direita cima //retalho2 #declare p11_2_02 = <0.5,1,1.5>*<-3,0,0>;//ponto esquerda baixo #declare p12_2_02 = <0.5,1,1.5>*<-2,0,0>;//esquerda baixo #declare p13_2_02 = <0.5,1,1.5>*<-1,0,0>;//direita baixo #declare p14_2_02 = <0.5,1,1.5>*<0,0,0>;//ponto direita baixo #declare p21_2_02 = <0.5,1,1.5>*<-3,0.4,1>;//esquerda baixo #declare p22_2_02 = <0.5,1,1.5>*<-2,0.4,2>;//central baixo #declare p23_2_02 = <0.5,1,1.5>*<-1,0.4,2>;//central baixo #declare p24_2_02 = <0.5,1,1.5>*<0,0.4,1>;//direita baixo #declare p31_2_02 = <0.5,1,1.5>*<-3,2,2>;//esquerda cima #declare p32_2_02 = <0.5,1,1.5>*<-2,2,2>;//central cima #declare p33_2_02 = <0.5,1,1.5>*<-1,2,2>;//central cima #declare p34_2_02 = <0.5,1,1.5>*<0,2,0>;//direita cima #declare p41_2_02 = <0.5,1,1.5>*<-3,3,1>;//ponto esquerda cima #declare p42_2_02 = <0.5,1,1.5>*<-2,3,1>;//esquerda cima #declare p43_2_02 = <0.5,1,1.5>*<-1,3,1>;//direita cima #declare p44_2_02 = <0.5,1,1.5>*<0,3,0>;//ponto direita cima //retalho 3 #declare p11_3_02 = <0.5,1,1.5>*<0,0,0>;//ponto esquerda baixo #declare p12_3_02 = <0.5,1,1.5>*<1,0,0>;//esquerda baixo #declare p13_3_02 = <0.5,1,1.5>*<2,0,1.5>;//direita baixo #declare p14_3_02 = <0.5,1,1.5>*<3,0,0>;//ponto direita baixo #declare p21_3_02 = <0.5,1,1.5>*<0,1,1>;//esquerda baixo #declare p22_3_02 = <0.5,1,1.5>*<1,1,1>;//central baixo #declare p23_3_02 = <0.5,1,1.5>*<2,1,1>;//central baixo #declare p24_3_02 = <0.5,1,1.5>*<3,1,0>;//direita baixo #declare p31_3_02 = <0.5,1,1.5>*<0,2,1>;//esquerda cima #declare p32_3_02 = <0.5,1,1.5>*<1,2,1>;//central cima #declare p33_3_02 = <0.5,1,1.5>*<2,2,1>;//central cima #declare p34_3_02 = <0.5,1,1.5>*<3,2,0>;//direita cima #declare p41_3_02 = <0.5,1,1.5>*<0,3,1>;//ponto esquerda cima #declare p42_3_02 = <0.5,1,1.5>*<1,3,1>;//esquerda cima #declare p43_3_02 = <0.5,1,1.5>*<2,3,1>;//direita cima #declare p44_3_02 = <0.5,1,1.5>*<3,3,0>;//ponto direita cima //retalho4 #declare p11_4_02 = <0.5,1,1.5>*<3,0,0>;//ponto esquerda baixo #declare p12_4_02 = <0.5,1,1.5>*<4,0,0>;//esquerda baixo #declare p13_4_02 = <0.5,1,1.5>*<5,0,0>;//direita baixo #declare p14_4_02 = <0.5,1,1.5>*<6,0,0>;//ponto direita baixo #declare p21_4_02 = <0.5,1,1.5>*<3,1,1>;//esquerda baixo #declare p22_4_02 = <0.5,1,1.5>*<4,1,1>;//central baixo #declare p23_4_02 = <0.5,1,1.5>*<5,1,1>;//central baixo #declare p24_4_02 = <0.5,1,1.5>*<6,1,0>;//direita baixo #declare p31_4_02 = <0.5,1,1.5>*<3,2,1>;//esquerda cima #declare p32_4_02 = <0.5,1,1.5>*<4,2,1>;//central cima #declare p33_4_02 = <0.5,1,1.5>*<5,2,1>;//central cima #declare p34_4_02 = <0.5,1,1.5>*<6,2,0>;//direita cima #declare p41_4_02 = <0.5,1,1.5>*<3,3,1>;//ponto esquerda cima #declare p42_4_02 = <0.5,1,1.5>*<4,3,1>;//esquerda cima #declare p43_4_02 = <0.5,1,1.5>*<5,3,1>;//direita cima #declare p44_4_02 = <0.5,1,1.5>*<6,3,0>;//ponto direita cima //encontros //R1R2 #declare p14_p11_R1R2_02 = (p13_1_02+p12_2_02)/2; #declare p24_p21_R1R2_02 = (p23_1_02+p22_2_02)/2; #declare p34_p31_R1R2_02 = (p33_1_02+p32_2_02)/2; #declare p44_p41_R1R2_02 = (p43_1_02+p42_2_02)/2; //R2R3 #declare p14_p11_R2R3_02 = (p13_2_02+p12_3_02)/2; #declare p24_p21_R2R3_02 = (p23_2_02+p22_3_02)/2; #declare p34_p31_R2R3_02 = (p33_2_02+p32_3_02)/2; #declare p44_p41_R2R3_02 = (p43_2_02+p42_3_02)/2; //R3R4 #declare p14_p11_R3R4_02 = (p13_3_02+p12_4_02)/2; #declare p24_p21_R3R4_02 = (p23_3_02+p22_4_02)/2; #declare p34_p31_R3R4_02 = (p33_3_02+p32_4_02)/2; #declare p44_p41_R3R4_02 = (p43_3_02+p42_4_02)/2; //************************************************************************************PONTOS QUADRO 3 #declare ck2 = 0.5; //retalho1 #declare p11_1_03 = <2,1.5,1>*<-6,0,0>;//ponto esquerda baixo #declare p12_1_03 = <2,1.5,1>*<-5,0,3>;//esquerda baixo #declare p13_1_03 = <2,1.5,1>*<-3.5,0,0>;//direita baixo #declare p14_1_03 = <2,1.5,1>*<-3,0,0>;//ponto direita baixo #declare p21_1_03 = <2,1.5,1>*<-6,0.4,3>;//esquerda baixo #declare p22_1_03 = <2,1.5,1>*<-5,0.4,3>;//central baixo #declare p23_1_03 = <2,1.5,1>*<-4,0.4,3>;//central baixo #declare p24_1_03 = <2,1.5,1>*<-3,0.4,3>;//direita baixo #declare p31_1_03 = <2,1.5,1>*<-6,2,2>;//esquerda cima #declare p32_1_03 = <2,1.5,1>*<-5,2,2>;//central cima #declare p33_1_03 = <2,1.5,1>*<-4,2,2>;//central cima #declare p34_1_03 = <2,1.5,1>*<-3,2,2>;//direita cima #declare p41_1_03 = <2,1.5,1>*<-6,3,2>;//ponto esquerda cima #declare p42_1_03 = <2,1.5,1>*<-5,3,2>;//esquerda cima #declare p43_1_03 = <2,1.5,1>*<-4,3,2>;//direita cima #declare p44_1_03 = <2,1.5,1>*<-3,3,2>;//ponto direita cima //retalho2 #declare p11_2_03 = <2,1.5,1>*<-3,0,0>;//ponto esquerda baixo #declare p12_2_03 = <2,1.5,1>*<-2,0,0>;//esquerda baixo #declare p13_2_03 = <2,1.5,1>*<-1,0,0>;//direita baixo #declare p14_2_03 = <2,1.5,1>*<0,0,0>;//ponto direita baixo #declare p21_2_03 = <2,1.5,1>*<-3,0.4,1>;//esquerda baixo #declare p22_2_03 = <2,1.5,1>*<-2,0.4,2>;//central baixo #declare p23_2_03 = <2,1.5,1>*<-1,0.4,2>;//central baixo #declare p24_2_03 = <2,1.5,1>*<0,0.4,1>;//direita baixo #declare p31_2_03 = <2,1.5,1>*<-3,2,2>;//esquerda cima #declare p32_2_03 = <2,1.5,1>*<-2,2,2>;//central cima #declare p33_2_03 = <2,1.5,1>*<-1,2,2>;//central cima #declare p34_2_03 = <2,1.5,1>*<0,2,0>;//direita cima #declare p41_2_03 = <2,1.5,1>*<-3,3,1>;//ponto esquerda cima #declare p42_2_03 = <2,1.5,1>*<-2,3,1>;//esquerda cima #declare p43_2_03 = <2,1.5,1>*<-1,3,1>;//direita cima #declare p44_2_03 = <2,1.5,1>*<0,3,0>;//ponto direita cima //retalho 3 #declare p11_3_03 = <2,1.5,1>*<0,0,0>;//ponto esquerda baixo #declare p12_3_03 = <2,1.5,1>*<1,0,0>;//esquerda baixo #declare p13_3_03 = <2,1.5,1>*<2,0,1.5>;//direita baixo #declare p14_3_03 = <2,1.5,1>*<3,0,0>;//ponto direita baixo #declare p21_3_03 = <2,1.5,1>*<0,1,1>;//esquerda baixo #declare p22_3_03 = <2,1.5,1>*<1,1,1>;//central baixo #declare p23_3_03 = <2,1.5,1>*<2,1,1>;//central baixo #declare p24_3_03 = <2,1.5,1>*<3,1,0>;//direita baixo #declare p31_3_03 = <2,1.5,1>*<0,2,1>;//esquerda cima #declare p32_3_03 = <2,1.5,1>*<1,2,1>;//central cima #declare p33_3_03 = <2,1.5,1>*<2,2,1>;//central cima #declare p34_3_03 = <2,1.5,1>*<3,2,0>;//direita cima #declare p41_3_03 = <2,1.5,1>*<0,3,1>;//ponto esquerda cima #declare p42_3_03 = <2,1.5,1>*<1,3,1>;//esquerda cima #declare p43_3_03 = <2,1.5,1>*<2,3,1>;//direita cima #declare p44_3_03 = <2,1.5,1>*<3,3,0>;//ponto direita cima //retalho4 #declare p11_4_03 = <2,1.5,1>*<3,0,0>;//ponto esquerda baixo #declare p12_4_03 = <2,1.5,1>*<4,0,0>;//esquerda baixo #declare p13_4_03 = <2,1.5,1>*<5,0,0>;//direita baixo #declare p14_4_03 = <2,1.5,1>*<6,0,0>;//ponto direita baixo #declare p21_4_03 = <2,1.5,1>*<3,1,1>;//esquerda baixo #declare p22_4_03 = <2,1.5,1>*<4,1,1>;//central baixo #declare p23_4_03 = <2,1.5,1>*<5,1,1>;//central baixo #declare p24_4_03 = <2,1.5,1>*<6,1,0>;//direita baixo #declare p31_4_03 = <2,1.5,1>*<3,2,1>;//esquerda cima #declare p32_4_03 = <2,1.5,1>*<4,2,1>;//central cima #declare p33_4_03 = <2,1.5,1>*<5,2,1>;//central cima #declare p34_4_03 = <2,1.5,1>*<6,2,0>;//direita cima #declare p41_4_03 = <2,1.5,1>*<3,3,1>;//ponto esquerda cima #declare p42_4_03 = <2,1.5,1>*<4,3,1>;//esquerda cima #declare p43_4_03 = <2,1.5,1>*<5,3,1>;//direita cima #declare p44_4_03 = <2,1.5,1>*<6,3,0>;//ponto direita cima //encontros //R1R2 #declare p14_p11_R1R2_03 = (p13_1_03+p12_2_03)/2; #declare p24_p21_R1R2_03 = (p23_1_03+p22_2_03)/2; #declare p34_p31_R1R2_03 = (p33_1_03+p32_2_03)/2; #declare p44_p41_R1R2_03 = (p43_1_03+p42_2_03)/2; //R2R3 #declare p14_p11_R2R3_03 = (p13_2_03+p12_3_03)/2; #declare p24_p21_R2R3_03 = (p23_2_03+p22_3_03)/2; #declare p34_p31_R2R3_03 = (p33_2_03+p32_3_03)/2; #declare p44_p41_R2R3_03 = (p43_2_03+p42_3_03)/2; //R3R4 #declare p14_p11_R3R4_03 = (p13_3_03+p12_4_03)/2; #declare p24_p21_R3R4_03 = (p23_3_03+p22_4_03)/2; #declare p34_p31_R3R4_03 = (p33_3_03+p32_4_03)/2; #declare p44_p41_R3R4_03 = (p43_3_03+p42_4_03)/2; //************************************************************************************PONTOS QUADRO 4 #declare ck3 = 0.75; //retalho1 #declare p11_1_04 = <1.4,1.2,0.8>*<-6,0,0>;//ponto esquerda baixo #declare p12_1_04 = <1.4,1.2,0.8>*<-5,0,3>;//esquerda baixo #declare p13_1_04 = <1.4,1.2,0.8>*<-3.5,0,0>;//direita baixo #declare p14_1_04 = <1.4,1.2,0.8>*<-3,0,0>;//ponto direita baixo #declare p21_1_04 = <1.4,1.2,0.8>*<-6,0.4,3>;//esquerda baixo #declare p22_1_04 = <1.4,1.2,0.8>*<-5,0.4,3>;//central baixo #declare p23_1_04 = <1.4,1.2,0.8>*<-4,0.4,3>;//central baixo #declare p24_1_04 = <1.4,1.2,0.8>*<-3,0.4,3>;//direita baixo #declare p31_1_04 = <1.4,1.2,0.8>*<-6,2,2>;//esquerda cima #declare p32_1_04 = <1.4,1.2,0.8>*<-5,2,2>;//central cima #declare p33_1_04 = <1.4,1.2,0.8>*<-4,2,2>;//central cima #declare p34_1_04 = <1.4,1.2,0.8>*<-3,2,2>;//direita cima #declare p41_1_04 = <1.4,1.2,0.8>*<-6,3,2>;//ponto esquerda cima #declare p42_1_04 = <1.4,1.2,0.8>*<-5,3,2>;//esquerda cima #declare p43_1_04 = <1.4,1.2,0.8>*<-4,3,2>;//direita cima #declare p44_1_04 = <1.4,1.2,0.8>*<-3,3,2>;//ponto direita cima //retalho2 #declare p11_2_04 = <1.4,1.2,0.8>*<-3,0,0>;//ponto esquerda baixo #declare p12_2_04 = <1.4,1.2,0.8>*<-2,0,0>;//esquerda baixo #declare p13_2_04 = <1.4,1.2,0.8>*<-1,0,0>;//direita baixo #declare p14_2_04 = <1.4,1.2,0.8>*<0,0,0>;//ponto direita baixo #declare p21_2_04 = <1.4,1.2,0.8>*<-3,0.4,1>;//esquerda baixo #declare p22_2_04 = <1.4,1.2,0.8>*<-2,0.4,2>;//central baixo #declare p23_2_04 = <1.4,1.2,0.8>*<-1,0.4,2>;//central baixo #declare p24_2_04 = <1.4,1.2,0.8>*<0,0.4,1>;//direita baixo #declare p31_2_04 = <1.4,1.2,0.8>*<-3,2,2>;//esquerda cima #declare p32_2_04 = <1.4,1.2,0.8>*<-2,2,2>;//central cima #declare p33_2_04 = <1.4,1.2,0.8>*<-1,2,2>;//central cima #declare p34_2_04 = <1.4,1.2,0.8>*<0,2,0>;//direita cima #declare p41_2_04 = <1.4,1.2,0.8>*<-3,3,1>;//ponto esquerda cima #declare p42_2_04 = <1.4,1.2,0.8>*<-2,3,1>;//esquerda cima #declare p43_2_04 = <1.4,1.2,0.8>*<-1,3,1>;//direita cima #declare p44_2_04 = <1.4,1.2,0.8>*<0,3,0>;//ponto direita cima //retalho 3 #declare p11_3_04 = <1.4,1.2,0.8>*<0,0,0>;//ponto esquerda baixo #declare p12_3_04 = <1.4,1.2,0.8>*<1,0,0>;//esquerda baixo #declare p13_3_04 = <1.4,1.2,0.8>*<2,0,1.5>;//direita baixo #declare p14_3_04 = <1.4,1.2,0.8>*<3,0,0>;//ponto direita baixo #declare p21_3_04 = <1.4,1.2,0.8>*<0,1,1>;//esquerda baixo #declare p22_3_04 = <1.4,1.2,0.8>*<1,1,1>;//central baixo #declare p23_3_04 = <1.4,1.2,0.8>*<2,1,1>;//central baixo #declare p24_3_04 = <1.4,1.2,0.8>*<3,1,0>;//direita baixo #declare p31_3_04 = <1.4,1.2,0.8>*<0,2,1>;//esquerda cima #declare p32_3_04 = <1.4,1.2,0.8>*<1,2,1>;//central cima #declare p33_3_04 = <1.4,1.2,0.8>*<2,2,1>;//central cima #declare p34_3_04 = <1.4,1.2,0.8>*<3,2,0>;//direita cima #declare p41_3_04 = <1.4,1.2,0.8>*<0,3,1>;//ponto esquerda cima #declare p42_3_04 = <1.4,1.2,0.8>*<1,3,1>;//esquerda cima #declare p43_3_04 = <1.4,1.2,0.8>*<2,3,1>;//direita cima #declare p44_3_04 = <1.4,1.2,0.8>*<3,3,0>;//ponto direita cima //retalho4 #declare p11_4_04 = <1.4,1.2,0.8>*<3,0,0>;//ponto esquerda baixo #declare p12_4_04 = <1.4,1.2,0.8>*<4,0,0>;//esquerda baixo #declare p13_4_04 = <1.4,1.2,0.8>*<5,0,0>;//direita baixo #declare p14_4_04 = <1.4,1.2,0.8>*<6,0,0>;//ponto direita baixo #declare p21_4_04 = <1.4,1.2,0.8>*<3,1,1>;//esquerda baixo #declare p22_4_04 = <1.4,1.2,0.8>*<4,1,1>;//central baixo #declare p23_4_04 = <1.4,1.2,0.8>*<5,1,1>;//central baixo #declare p24_4_04 = <1.4,1.2,0.8>*<6,1,0>;//direita baixo #declare p31_4_04 = <1.4,1.2,0.8>*<3,2,1>;//esquerda cima #declare p32_4_04 = <1.4,1.2,0.8>*<4,2,1>;//central cima #declare p33_4_04 = <1.4,1.2,0.8>*<5,2,1>;//central cima #declare p34_4_04 = <1.4,1.2,0.8>*<6,2,0>;//direita cima #declare p41_4_04 = <1.4,1.2,0.8>*<3,3,1>;//ponto esquerda cima #declare p42_4_04 = <1.4,1.2,0.8>*<4,3,1>;//esquerda cima #declare p43_4_04 = <1.4,1.2,0.8>*<5,3,1>;//direita cima #declare p44_4_04 = <1.4,1.2,0.8>*<6,3,0>;//ponto direita cima //encontros //R1R2 #declare p14_p11_R1R2_04 = (p13_1_04+p12_2_04)/2; #declare p24_p21_R1R2_04 = (p23_1_04+p22_2_04)/2; #declare p34_p31_R1R2_04 = (p33_1_04+p32_2_04)/2; #declare p44_p41_R1R2_04 = (p43_1_04+p42_2_04)/2; //R2R3 #declare p14_p11_R2R3_04 = (p13_2_04+p12_3_04)/2; #declare p24_p21_R2R3_04 = (p23_2_04+p22_3_04)/2; #declare p34_p31_R2R3_04 = (p33_2_04+p32_3_04)/2; #declare p44_p41_R2R3_04 = (p43_2_04+p42_3_04)/2; //R3R4 #declare p14_p11_R3R4_04 = (p13_3_04+p12_4_04)/2; #declare p24_p21_R3R4_04 = (p23_3_04+p22_4_04)/2; #declare p34_p31_R3R4_04 = (p33_3_04+p32_4_04)/2; #declare p44_p41_R3R4_04 = (p43_3_04+p42_4_04)/2; //p11_1, p12_1, p13_1, p14_p11_R1R2, p21_1, p22_1, p23_1, p24_p21_R1R2, p31_1, p32_1, p33_1, p34_p31_R1R2, p41_1, p42_1, p43_1, p44_p41_R1R2, //p14_p11_R1R2, p12_2, p13_2, p14_p11_R2R3, p24_p21_R1R2, p22_2, p23_2, p24_p21_R2R3, p34_p31_R1R2, p32_2, p33_2, p34_p31_R2R3, p44_p41_R1R2, p42_2, p43_2, p44_p41_R2R3, //p14_p11_R2R3, p12_3, p13_3, p14_p11_R3R4, p24_p21_R2R3, p22_3, p23_3, p24_p21_R3R4, p34_p31_R2R3, p32_3, p33_3, p34_p31_R3R4, p44_p41_R2R3, p42_3, p43_3, p44_p41_R3R4, //p14_p11_R3R4, p12_4, p13_4, p14_4, p24_p21_R3R4, p22_4, p23_4, p24_4, p34_p31_R3R4, p32_4, p33_4, p34_4, p44_p41_R3R4, p42_4, p43_4, p44_4 //************************************************************************************MACRO METADE CARRO*********************************************************************** #macro metade_carro(p11_1, p12_1, p13_1, p14_p11_R1R2, p21_1, p22_1, p23_1, p24_p21_R1R2, p31_1, p32_1, p33_1, p34_p31_R1R2, p41_1, p42_1, p43_1, p44_p41_R1R2, p12_2, p13_2, p14_p11_R2R3, p22_2, p23_2, p24_p21_R2R3, p32_2, p33_2, p34_p31_R2R3, p42_2, p43_2, p44_p41_R2R3, p12_3, p13_3, p14_p11_R3R4, p22_3, p23_3, p24_p21_R3R4, p32_3, p33_3, p34_p31_R3R4, p42_3, p43_3, p44_p41_R3R4, p12_4, p13_4, p14_4, p22_4, p23_4, p24_4, p32_4, p33_4, p34_4, p42_4, p43_4, p44_4, trans ) #local p31_01 = (p31_1+((p31_1*<1,-1,1>)+<0,trans,0>))/2; //#local p32_01 = (p32_1+((p32_1*<1,-1,1>)+<0,trans,0>))/2; //#local p33_01 = (p33_1+((p33_1*<1,-1,1>)+<0,trans,0>))/2; //#local p34_01 = (p34_1+((p34_1*<1,-1,1>)+<0,trans,0>))/2; union{ union{ //R1 object {retalho(p11_1, p12_1, p13_1, p14_p11_R1R2, p21_1, p22_1, p23_1, p24_p21_R1R2, p31_1, p32_1, p33_1, p34_p31_R1R2, p41_1, p42_1, p43_1, p44_p41_R1R2, tx_fosca, tx_fosca)} //R2 object {retalho(p14_p11_R1R2, p12_2, p13_2, p14_p11_R2R3, p24_p21_R1R2, p22_2, p23_2, p24_p21_R2R3, p34_p31_R1R2, p32_2, p33_2, p34_p31_R2R3, p44_p41_R1R2, p42_2, p43_2, p44_p41_R2R3, tx_fosca, tx_fosca)} //R3 object {retalho(p14_p11_R2R3, p12_3, p13_3, p14_p11_R3R4, p24_p21_R2R3, p22_3, p23_3, p24_p21_R3R4, p34_p31_R2R3, p32_3, p33_3, p34_p31_R3R4, p44_p41_R2R3, p42_3, p43_3, p44_p41_R3R4, tx_fosca, tx_fosca)} //R4 object {retalho(p14_p11_R3R4, p12_4, p13_4, p14_4, p24_p21_R3R4, p22_4, p23_4, p24_4, p34_p31_R3R4, p32_4, p33_4, p34_4, p44_p41_R3R4, p42_4, p43_4, p44_4, tx_fosca, tx_fosca)} } //ESPELHO union{ //R1 object {retalho(p11_1, p12_1, p13_1, p14_p11_R1R2, p21_1, p22_1, p23_1, p24_p21_R1R2, p31_1, p32_1, p33_1, p34_p31_R1R2, p41_1, p42_1, p43_1, p44_p41_R1R2, tx_fosca, tx_fosca)} //R2 object {retalho(p14_p11_R1R2, p12_2, p13_2, p14_p11_R2R3, p24_p21_R1R2, p22_2, p23_2, p24_p21_R2R3, p34_p31_R1R2, p32_2, p33_2, p34_p31_R2R3, p44_p41_R1R2, p42_2, p43_2, p44_p41_R2R3, tx_fosca, tx_fosca)} //R3 object {retalho(p14_p11_R2R3, p12_3, p13_3, p14_p11_R3R4, p24_p21_R2R3, p22_3, p23_3, p24_p21_R3R4, p34_p31_R2R3, p32_3, p33_3, p34_p31_R3R4, p44_p41_R2R3, p42_3, p43_3, p44_p41_R3R4, tx_fosca, tx_fosca)} //R4 object {retalho(p14_p11_R3R4, p12_4, p13_4, p14_4, p24_p21_R3R4, p22_4, p23_4, p24_4, p34_p31_R3R4, p32_4, p33_4, p34_4, p44_p41_R3R4, p42_4, p43_4, p44_4, tx_fosca, tx_fosca)} scale<1,-1,1> translate<0,trans,0> } } #end #macro cena (ck) #if((ck>=ck0) & (ck=ck1) & (ck=ck2) & (ck=ck3) #local tt=(ck-ck3)/(1-ck3); #local p11_1 = (1-tt)*p11_1_04 + tt*p11_1_01; #local p12_1 = (1-tt)*p12_1_04 + tt*p12_2_01; #local p13_1 = (1-tt)*p13_1_04 + tt*p13_2_01; #local p14_p11_R1R2 = (1-tt)*p14_p11_R1R2_04 + tt*p14_p11_R1R2_01; #local p21_1 = (1-tt)*p21_1_04 + tt*p21_2_01; #local p22_1 = (1-tt)*p22_1_04 + tt*p23_2_01; #local p23_1 = (1-tt)*p23_1_04 + tt*p24_2_01; #local p24_p21_R1R2 = (1-tt)*p24_p21_R1R2_04 + tt*p24_p21_R1R2_01; #local p31_1 = (1-tt)*p31_1_04 + tt*p31_2_01; #local p32_1 = (1-tt)*p32_1_04 + tt*p32_2_01; #local p33_1 = (1-tt)*p33_1_04 + tt*p33_2_01; #local p34_p31_R1R2 = (1-tt)*p34_p31_R1R2_04 + tt*p34_p31_R1R2_01; #local p41_1 = (1-tt)*p41_1_04 + tt*p41_2_01; #local p42_1 = (1-tt)*p42_1_04 + tt*p42_2_01; #local p43_1 = (1-tt)*p43_1_04 + tt*p43_2_01; #local p44_p41_R1R2 = (1-tt)*p44_p41_R1R2_04 + tt*p44_p41_R1R2_01; #local p12_2 = (1-tt)*p12_2_04 + tt*p12_2_01; #local p13_2 = (1-tt)*p13_2_04 + tt*p13_2_01; #local p14_p11_R2R3 = (1-tt)*p14_p11_R2R3_04 + tt*p14_p11_R2R3_01; #local p22_2 = (1-tt)*p22_2_04 + tt*p22_2_01; #local p23_2 = (1-tt)*p23_2_04 + tt*p23_2_01; #local p24_p21_R2R3 = (1-tt)*p24_p21_R2R3_04 + tt*p24_p21_R2R3_01; #local p32_2 = (1-tt)*p32_2_04 + tt*p32_2_01; #local p33_2 = (1-tt)*p33_2_04 + tt*p33_2_01; #local p34_p31_R2R3 = (1-tt)*p34_p31_R2R3_04 + tt*p34_p31_R2R3_01; #local p42_2 = (1-tt)*p42_2_04 + tt*p42_2_01; #local p43_2 = (1-tt)*p43_2_04 + tt*p43_2_01; #local p44_p41_R2R3 = (1-tt)*p44_p41_R2R3_04 + tt*p44_p41_R2R3_01; #local p12_3 = (1-tt)*p12_3_04 + tt*p12_3_01; #local p13_3 = (1-tt)*p13_3_04 + tt*p13_3_01; #local p14_p11_R3R4 = (1-tt)*p14_p11_R3R4_04 + tt*p14_p11_R3R4_01; #local p22_3 = (1-tt)*p22_3_04 + tt*p22_3_01; #local p23_3 = (1-tt)*p23_3_04 + tt*p23_3_01; #local p24_p21_R3R4 = (1-tt)*p24_p21_R3R4_04 + tt*p24_p21_R3R4_01; #local p32_3 = (1-tt)*p32_3_04 + tt*p32_3_01; #local p33_3 = (1-tt)*p33_4_04 + tt*p33_3_01; #local p34_p31_R3R4 = (1-tt)*p34_p31_R3R4_04 + tt*p34_p31_R3R4_01; #local p42_3 = (1-tt)*p42_3_04 + tt*p42_3_01; #local p43_3 = (1-tt)*p43_3_04 + tt*p43_3_01; #local p44_p41_R3R4 = (1-tt)*p44_p41_R3R4_04 + tt*p44_p41_R3R4_01; #local p12_4 = (1-tt)*p12_4_04 + tt*p12_4_01; #local p13_4 = (1-tt)*p13_4_04 + tt*p13_4_01; #local p14_4 = (1-tt)*p14_4_04 + tt*p14_4_01; #local p22_4 = (1-tt)*p22_4_04 + tt*p22_4_01; #local p23_4 = (1-tt)*p23_4_04 + tt*p23_4_01; #local p24_4 = (1-tt)*p24_4_04 + tt*p24_4_01; #local p32_4 = (1-tt)*p32_4_04 + tt*p32_4_01; #local p33_4 = (1-tt)*p33_4_04 + tt*p33_4_01; #local p34_4 = (1-tt)*p34_4_04 + tt*p34_4_01; #local p42_4 = (1-tt)*p42_4_04 + tt*p42_4_01; #local p43_4 = (1-tt)*p43_4_04 + tt*p43_4_01; #local p44_4 = (1-tt)*p44_4_04 + tt*p44_4_01; object{ metade_carro(p11_1, p12_1, p13_1, p14_p11_R1R2, p21_1, p22_1, p23_1, p24_p21_R1R2, p31_1, p32_1, p33_1, p34_p31_R1R2, p41_1, p42_1, p43_1, p44_p41_R1R2, p12_2, p13_2, p14_p11_R2R3, p22_2, p23_2, p24_p21_R2R3, p32_2, p33_2, p34_p31_R2R3, p42_2, p43_2, p44_p41_R2R3, p12_3, p13_3, p14_p11_R3R4, p22_3, p23_3, p24_p21_R3R4, p32_3, p33_3, p34_p31_R3R4, p42_3, p43_3, p44_p41_R3R4, p12_4, p13_4, p14_4, p22_4, p23_4, p24_4, p32_4, p33_4, p34_4, p42_4, p43_4, p44_4, 6 )} #end #end // Aqui está a cena, finalmente: union{ object{ eixos(3.00) } cena(clock) //rotate 130*z //rotate 50*y }