// 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.65, 0.75, 0.85 > } #declare tx_vidro1 = texture{ pigment{ color rgb < 0.65, 0.75, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.15 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_vidro2 = texture{ pigment{ color rgb < 0.1, 0.5, 0.32 > filter 0.70 } finish{ diffuse 0.03 reflection 0.15 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_vidro3 = texture{ pigment{ color rgb < 0.85, 0.45, 0.40 > filter 0.70 } finish{ diffuse 0.03 reflection 0.15 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.15, 0.15, 0.15 >, color rgb < 0.10, 0.32, 0.60 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare phi = 2; // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #include "textures.inc" #declare chao = box{ <-50,-50,-1>, <+50,+50,0> texture {tx_xadrez} } #macro dodeca(s) intersection{ plane{ <1, 0, phi>, s interior {ior 1.6}} plane{ <1, 0, -phi>, s interior {ior 1.6}} plane{ <-1, 0, phi>, s interior {ior 1.6}} plane{ <-1, 0, -phi>, s interior {ior 1.6}} plane{ , s interior {ior 1.6}} plane{ , s interior {ior 1.6}} plane{ <-phi, 1, 0>, s interior {ior 1.6}} plane{ <-phi, -1, 0>, s interior {ior 1.6}} plane{ <0, phi, 1>, s interior {ior 1.6}} plane{ <0, phi, -1>, s interior {ior 1.6}} plane{ <0, -phi, 1>, s interior {ior 1.6}} plane{ <0, -phi, -1>, s interior {ior 1.6}} texture {tx_vidro1} bounded_by{ sphere{ <0,0,0>, 2*s}} } #end #macro octa(s) intersection{ plane{ <1, 1, 1>, s interior {ior 1.6}} plane{ <-1, 1, 1>, s interior {ior 1.6}} plane{ <1, -1, 1>, s interior {ior 1.6}} plane{ <1, 1, -1>, s interior {ior 1.6}} plane{ <-1, -1, 1>, s interior {ior 1.6}} plane{ <-1, 1, -1>, s interior {ior 1.6}} plane{ <1, -1, -1>, s interior {ior 1.6}} plane{ <-1, -1, -1>, s interior {ior 1.6}} texture {tx_vidro2} bounded_by{ sphere{ <0,0,0>, 2*s}} } #end #macro cubo(s) intersection{ plane{ <1, 0, 0>, s interior {ior 1.6}} plane{ <-1, 0, 0>, s interior {ior 1.6}} plane{ <0, 0, 1>, s interior {ior 1.6}} plane{ <0, 0, -1>, s interior {ior 1.6}} plane{ <0, -1, 0>, s interior {ior 1.6}} plane{ <0, 1, 0>, s interior {ior 1.6}} texture {tx_vidro3} bounded_by{ sphere{ <0,0,0>, 2*s}} } #end // ====================================================================== // IBAGENS #include "eixos.inc" // Aqui está a cena, finalmente: object{ chao translate < 0,0,-5 >} intersection{ object {cubo(1) rotate <0,0,45>} object {octa(1.1)} translate <-2.5, -2, 0> } intersection{ object {cubo(1)} object {octa(1.15)} translate <2.5, -2, 0> } object {dodeca(1) translate <-2.5, 2, 0>} intersection{ object {dodeca(1.03)} object {octa(1)} translate <2.5, 2, 0> } #include "camlight.inc" #declare centro_cena = <0.00, 0.00, 0.00 >; #declare raio_cena = 8.0; #declare dir_camera = < 12.00, 2.0, 7.50 >; #declare dist_camera = 10.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)