// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-10-14 22:32:52 by stolfi // ====================================================================== // CÂMERA #include "colors.inc" #declare ctr = < 0.00, 0.00, 0.50 >; #declare camdir = < -4.00, -10.00, 5.00 >; camera { location ctr + 0.77*camdir // Posição do observador. right -0.60*x // Largura RELATIVA da imagem. up 0.80*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at ctr // 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 * < -30.0, -30.0, +30.0 > // Posição da lâmpada. color rgb 1.1 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +30.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.6 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare cabeca = sphere { < 0, 0, 0 >, 0.55 pigment {Yellow} finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare ombro = difference{ sphere{<0,0,0>, 0.3} box { <-0.3,-0.3,-0.3>, <0.3,0.3,0>} pigment {Yellow} finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare tronco = cone { <0,0,0>, 0.5 <0,0,2>, 0.75 pigment { color rgb < 0.30, 0.50, 1.00 > } finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare braco = cylinder { <0,0,0> <0,0,1> 0.16 pigment { color rgb < 0.30, 0.50, 1.00 > } finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare cotovelo = object { cabeca scale <0.4,0.4,0.4> } #declare antebraco_dir = intersection { cylinder { <0,0,0> <0,0,1.2> 0.16 } sphere { <0,0,0.7> 0.6 } pigment { color rgb < 0.30, 0.50, 1.00 > } finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare antebraco_esq = union { object { braco } torus { 0.3 0.08 translate <0,0,-0.3> rotate 90*z } pigment {Yellow} finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare cintura = cylinder { <0,0,0> <0,0,0.3> 0.65 pigment {Yellow} finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare perna = cylinder { <0,0,0> <0,0,2> 0.2 pigment { color rgb < 0.30, 0.50, 1.00 > } finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } #declare roda = cylinder { <0,0,0> <0.2,0,0> 1 pigment {Yellow} finish { diffuse 0.9 specular 0.2 roughness 0.005 ambient 0.1 } } // Aqui está a cena, finalmente: union{ object {cabeca translate <0,0,2.6>} object { ombro translate<0.9,0,2> } object { ombro translate<-0.9,0,2> } object {tronco} object { braco translate <0.95,0,1>} object { braco translate <-0.95,0,1>} object {cotovelo translate <0.95,0,0.8>} object {cotovelo translate <-0.95,0,0.8>} object {antebraco_dir translate <-0.95,0,-0.6>} object {antebraco_esq translate <0.95,0,-0.2>} object {cintura translate <0,0,-0.4>} //nao encosta, pois eh articulada! object {perna translate <0.3,0,-2.4>} object {perna translate <-0.3,0,-2.4>} object {roda translate <-0.1,0,-2.5>} }