// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-07-31 12:50:37 by stolfi // ====================================================================== // CÂMERA camera { sky z location 0.6 * < -8.00, 12.00, 5.00 > // Posição do observador. look_at < 8.00, -8.00, 1.00 > // Para onde a câmera está apontando. // location < 2.00, 1.00, 8.00 > // Posição do observador. // look_at < 2.00, 1.00, 0.00 > // Para onde a câmera está apontando. } // ====================================================================== // FONTES DE LUZ light_source { < -2.00, 0.00, 5.00 > // Posição da lâmpada. color rgb < 1.00, 1.00, 1.00 > // Intensidade e cor da luz. } light_source { < -2.00, 0.00, 0.10 > // Posição da lâmpada. color rgb < 1.00, 1.00, 1.00 > // Intensidade e cor da luz. } // ====================================================================== // DESCRIÇÃO DA CENA background { color rgb < 0.98, 1.00, 0.75 > } #declare Semente = seed ( 12345 ); #declare clock0 = clock; #declare clock1 = mod(clock + 0.50, 1); #declare plano_xy = // z = 0 plane { < 0, 0, 1 >, 0 } #declare aux = 1; #declare p3 = union { sphere { < 0.00, 0.00, 0.00 >, 0.10 pigment { color rgb } } cylinder { < 0.00, 0.10, 0.00 >, < 0.00, 0.4, 0.00>, 0.10 pigment { color rgb } } } #declare p2 = union { sphere { < 0.00, 0.00, 0.00 >, 0.10 pigment { color rgb } } cylinder { < 0.00, 0.10, 0.00 >, < 0.00, 0.5, 0.00>, 0.05 pigment { color rgb } } #declare delt = 0; object { p3 rotate < -delt, delt, 0> translate < 0.00, 0.50, 0.00> } } #declare p1 = union { sphere { < 0.00, 0.00, 0.00 >, 0.10 pigment { color rgb } } cylinder { < 0.00, 0.10, 0.00 >, < 0.00, 0.5, 0.00>, 0.05 pigment { color rgb } } #declare gama = 60; object { p2 rotate gama * x translate < 0.00, 0.50, 0.00> } } #declare perna = union { sphere { < 0.00, 0.00, 0.00 >, 0.10 pigment { color rgb } } cylinder { < 0.00, 0.10, 0.00 >, < 0.00, 0.60, 0.00>, 0.05 pigment { color rgb } } #declare beta0 = 45 * cos(2*pi*clock0); #declare beta1 = 45 * cos(2*pi*clock1); object { p1 #if (mod(aux,2)=0) rotate beta0 * y #else rotate beta1 * y #end translate < 0.00, 0.60, 0.00> } } #declare corpo = union { #declare L = 4; // comprimento corpo #declare PP = 3; // pares de pernas // cabeca sphere { < -0.40, 0.85, 0.4 >, 0.4 pigment { color rgb } } // corpo box { < 0.00, 0.00, 0.00>, < L, 1.90, 0.80> pigment { color rgb } } // pernas #while (aux <= PP) #declare alfa = 10 * abs(cos(2*pi*clock0)); object { perna scale < -1, -1, 1 > rotate -alfa * x translate < aux * ( L / ( PP + 1 ) ), 0.00, 0.80> } object { perna rotate alfa * x translate < aux * ( L / ( PP + 1 ) ), 1.90, 0.80> } #declare aux = aux + 1; #end } // Aqui está a cena, finalmente: union { // object { plano_xy pigment { checker rgb < 0.00, 0.00, 0.30 >, < 0.00, 0.00, 0.50 > } } object { corpo rotate 180 * x translate < 0.00, 0.00, 2.50 > } }