// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-09-04 15:25:26 by stolfi // ====================================================================== // CÂMERA #include "colors.inc" camera { location < 30.00, 15.00, 15.00 > // Posição do observador. right -0.75*x // Largura RELATIVA da imagem. up 1.00*y // Altura RELATIVA da imagem. sky y // Qual direção é "para cima"? look_at < 0.00, 10.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.2 * < 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.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare t_dourado = texture { pigment { Gold } finish { diffuse 0.5 specular 0.1 roughness 0.05 ambient 0.05 reflection { 0.5 metallic } phong .5 phong_size 25 } } #declare t_rubi = texture { pigment { Red filter 1} finish { diffuse 0.25 specular 0.2 roughness 0.001 ambient 0.1 reflection 0.25 } } #declare tinta_C = texture { pigment { color rgbf < 0.90, 0.90, 0.90, 0.9 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare corpo = object { lathe { linear_spline 9, <10,1>, <8,3>, <9,8>, <8.75,7.5>, <8.25,9>, <7.75,8.5>, <7.25, 9.5>, <7, 9>, <6.75, 10> texture{ t_dourado } } } #declare apoio = object { lathe { linear_spline 2, <0,0>, <1.5,4.5> texture{ t_dourado } } translate 15*y } #declare rubizao = object { lathe { linear_spline 6, <0,0>, <0.75,0.5>, <1.5,1.5>, <1.5,2>, <0.75, 3>, <0, 3.5> texture { t_rubi } // material {ior 1.5} } translate 18*y } #declare torus_base = object { torus { 7, 2 texture{ t_dourado } } translate 3*y } #declare torus_topo = object { torus { 7, 2 texture{ t_dourado } } rotate 90*z rotate -10*y translate 9*y } #declare rubi = object { sphere { < 0.00, 0.00, 0.00 >, 0.50 texture { t_rubi } // material {ior 1.5} translate 9*x translate 3*y } } #declare rubis = object { union { object { rubi translate -3*y rotate 0*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 10*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 20*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 30*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 40*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 50*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 60*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 70*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 80*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 100*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 110*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 120*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 130*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 140*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 150*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 160*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 170*z rotate -10*y translate 9*y } object { rubi translate -3*y rotate 180*z rotate -10*y translate 9*y } } } union { plane { y, 0 texture { pigment { checker Gold, Red} finish {ambient 0.1 diffuse 0.9} scale 0.5 } } corpo torus_base apoio torus_topo rubizao rubis object { rubis rotate 90*y } object { torus_topo rotate 90*y } object { rubi } object { rubi rotate 10*y } object { rubi rotate 20*y } object { rubi rotate 30*y } object { rubi rotate 40*y } object { rubi rotate 50*y } object { rubi rotate 60*y } object { rubi rotate 70*y } object { rubi rotate 80*y } object { rubi rotate 90*y } object { rubi rotate 100*y } object { rubi rotate 110*y } object { rubi rotate 120*y } object { rubi rotate 130*y } object { rubi rotate 140*y } object { rubi rotate 150*y } object { rubi rotate 160*y } object { rubi rotate 170*y } object { rubi rotate 180*y } object { rubi rotate -10*y } object { rubi rotate -20*y } object { rubi rotate -30*y } object { rubi rotate -40*y } object { rubi rotate -50*y } object { rubi rotate -60*y } object { rubi rotate -70*y } object { rubi rotate -80*y } object { rubi rotate -90*y } object { rubi rotate -100*y } object { rubi rotate -110*y } object { rubi rotate -120*y } object { rubi rotate -130*y } object { rubi rotate -140*y } object { rubi rotate -150*y } object { rubi rotate -160*y } object { rubi rotate -170*y } }