// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_fosca = texture{ pigment{ color rgb < 0.70, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_garra = texture{ pigment{ color rgb < 0.81, 0.79, 0.78 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_ponta = texture{ pigment{ color rgb < 0.81, 0.70, 0.5 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #declare cabo = cylinder {<0,0,0>,<0,6,0>,0.5 texture{tx_ponta}} #declare garra = difference{ intersection { sphere {<0,0,0>,2} box {<0,-2,-0.5>,<2,2,0.5> } } cylinder{<0,0,-3>,<0,0,3>,1} rotate y*90 translate <0,1,1> texture { tx_garra} } #declare ponta = difference{ cone {<0,0,0>,1,<0,2,0>,0.5} box {<-2,-2,-1>,<2,2,0>} texture {tx_ponta} } #declare chao = union{ box{ <-20,-20,-1>, <+20,+20,0> } texture {tx_xadrez} } #include "eixos.inc" #macro pegador(ang) union{ object { cabo } object { garra rotate (-ang)*x translate <0,6.5,-1> } object { garra rotate (-ang)*x scale <0,0,-1> translate <0,6.5,1>} object { ponta translate <0,-2,ang/720>} object { ponta rotate 180*y translate <0,-2,-ang/720>} } #end union{ object {pegador(15) translate <1,1,-3>} object {pegador(30) translate <-2,-2,0>} object {pegador(45) translate <-5,-5,3>} // object {chao} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 15.0; #declare dir_camera = < 20, 0, 7 >; #declare dist_camera = 15.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)