// Last edited on 2003-10-22 04:17:17 by stolfi global_settings { max_trace_level 10 } #declare ctr = < 1.50, 1.50, 2.75 >; #declare camdir = < 8.00, 16.00, 8.00 >; camera { location ctr + 0.55*camdir right -1.00*x up 0.75*y sky z look_at ctr } light_source { 100*< -10.00, 30.00, 30.00 > color rgb 1.2*< 1.00, 1.00, 1.00 > } light_source { 100*< -10.00, -60.00, -60.00 > color rgb 0.4*< 1.00, 1.00, 1.00 > } #include "colors.inc" background{ color rgb < 0.75, 0.60, 0.50 > } #declare cor_cristal = <0.8,0.8,0.3>; #declare tx_cristal = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal filter 1} } #declare cor_espelho = <0,0,1>; #declare tx_espelho = texture{ pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection Gray specular 0.20 roughness 0.05 } } //eixos #declare eixox = cylinder { < -5.00, 0.00, 0.00 >, < 5.00, 0.00, 0.00 >, 0.05 pigment { color Black } } #declare eixoy = cylinder { < 00, -5.00, 0.00 >, < 00, 5.00, 0.00 >, 0.05 pigment { color Black } } #declare eixoz = cylinder { < 0.0, 00, -5.00 >, < 0.0, 00, 5.00 >, 0.05 pigment { color Black } } #declare caixa = box { < 00, 00, 00 >, < 3.00, 3.00, 4.00 > texture{ tx_cristal } // hollow interior{ior 1.5 } } #declare porta = torus { 0.9, 0.1 texture{ tx_espelho } translate <1.5,3.05,0> } #declare emcima = difference { torus { 2.2, 0.1 translate <0,0,-0.5> } box { < -5.00, -5.00, 00 >, < 5.00, 5.00, -4.00 > } translate <2,0,4> rotate z*45 texture{ tx_espelho } } #declare emcima2 = difference { torus { 2.2, 0.1 translate <0,0,-0.6> } box { < -5.00, -5.00, 00 >, < 5.00, 5.00, -4.00 > } rotate z*135 translate <1.2,1,3.8> texture{ tx_espelho } } #declare emcima3 = difference { torus { 1.8, 0.1 translate <0,0,-0.4> } box { < -5.00, -5.00, 00 >, < 5.00, 5.00, -4.00 > } rotate z*90 translate <1.3 ,1.3,4> texture{ tx_espelho } } #declare chao = plane {z,0 pigment { checker color White, color Gray } } // Aqui está a cena, finalmente: union { object{caixa} object{chao} object{porta} object{emcima} object{emcima2} object{emcima3} }