// ====================================================================== // CORES E TEXTURAS background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_vermelha = texture{ pigment{ color rgb < 1.00, 0, 0 > } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_verde = texture{ pigment{ color rgb < 0, 1, 0 > } } #declare tx_azul = texture{ pigment{ color rgb < 0, 0, 1.00 > } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #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 chao = box{ <-20,-20,-1>, <+20,+20,5> } /* Dodecaedro */ #declare planododec1 = plane { <1, 0, 1.618>, 1 } #declare planododec2 = plane { <1, 0, -1.618>, 1 } #declare planododec3 = plane { <-1, 0, +1.618>, 1 } #declare planododec4 = plane { <-1, 0, -1.618>, 1 } #declare planododec5 = plane { <1.618, 1, 0>, 1 } #declare planododec6 = plane { <1.618, -1, 0>, 1 } #declare planododec7 = plane { <-1.618, 1, 0>, 1 } #declare planododec8 = plane { <-1.618, -1, 0>, 1 } #declare planododec9 = plane { <0, 1.618, 1>, 1 } #declare planododec10 = plane { <0, 1.618, -1>, 1 } #declare planododec11 = plane { <0, -1.618, 1>, 1 } #declare planododec12 = plane { <0, -1.618, -1>, 1 } #declare dodecaedro = intersection{ object{ planododec1 } object{ planododec2 } object{ planododec3 } object{ planododec4 } object{ planododec5 } object{ planododec6 } object{ planododec7 } object{ planododec8 } object{ planododec9 } object{ planododec10 } object{ planododec11 } object{ planododec12 } } /* Octaedro */ #declare planoocta1 = plane { <1, 1, 1>, 1 } #declare planoocta2 = plane { <1, 1, -1>, 1 } #declare planoocta3 = plane { <1, -1, 1>, 1 } #declare planoocta4 = plane { <1, -1, -1>, 1 } #declare planoocta5 = plane { <-1, 1, 1>, 1 } #declare planoocta6 = plane { <-1, 1, -1>, 1 } #declare planoocta7 = plane { <-1, -1, 1>, 1 } #declare planoocta8 = plane { <-1, -1, -1>, 1 } #declare octaedro = intersection{ object{ planoocta1 } object{ planoocta2 } object{ planoocta3 } object{ planoocta4 } object{ planoocta5 } object{ planoocta6 } object{ planoocta7 } object{ planoocta8 } } /* Cubo */ #declare planocubo1 = plane {<1, 0, 0>, 1} #declare planocubo2 = plane {<-1, 0, 0>, 1} #declare planocubo3 = plane {<0, 1, 0>, 1} #declare planocubo4 = plane {<0, -1, 0>, 1} #declare planocubo5 = plane {<0, 0, 1>, 1} #declare planocubo6 = plane {<0, 0, -1>, 1} #declare cubo = intersection{ object{planocubo1} object{planocubo2} object{planocubo3} object{planocubo4} object{planocubo5} object{planocubo6} } #include "eixos.inc" // Aqui está a cena, finalmente: object { intersection { object{dodecaedro} object{octaedro scale<0.95,0.95,0.95>} } texture{tx_vidro} interior{ior 1.2} } object { intersection { object {cubo scale <0.85, 0.85, 0.85>} object {octaedro} } texture{tx_vidro} interior{ior 1.2} translate <0,5,0> } object{ chao translate < 0,0,-10 > texture{ tx_xadrez } } #include "camlight.inc" #declare centro_cena = < 0.00, 3.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 14.00, 6.00, 6.00 >; #declare dist_camera = 32.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)