// CORES E TEXTURAS background{ color rgb < 1, 1, 1 > } #declare tx_grama = texture{ pigment{ color rgb < 0.14, 0.56, 0.14 >} finish{ diffuse 0.7 ambient 0.5 } } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.7 ambient 0 specular 0.5 roughness 0.005 } } #declare tx_arvore = texture{ pigment{ color rgb < 0.64, 0.16, 0.16 > } finish{ diffuse 0.2 ambient 0.1 } } #declare tx_prata = texture{ pigment{ color rgb < 0.3, 0.3, 0.3 > } finish{ diffuse 0.2 reflection 0.6 brilliance 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > filter 0.90 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02} } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.98, 0.44, 0.2 >, color rgb < 1, 1, 1 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } //MACROS #macro face(norm) object { plane { norm, 1 texture{tx_vidro} interior{ ior 2} }} #end // ====================================================================== // DESCRIÇÃO DA CENA #declare raio = 0.5; #declare origem = <0,0,0>; #declare aureo = (sqrt(5) + 1)/2; #declare chao = box{ <40,40,-5>, <-40,-40, -4> texture{tx_xadrez} } #include "eixos.inc" intersection{ object{ face(<1,0,aureo>)} object{ face(<-1,0,aureo>)} object{ face(<1,0,-aureo>)} object{ face(<-1,0,-aureo>)} object{ face()} object{ face(<-aureo,1,0>)} object{ face()} object{ face(<-aureo,-1,0>)} object{ face(<0,aureo,1>)} object{ face(<0,-aureo,1>)} object{ face(<0,aureo,-1>)} object{ face(<0,-aureo,-1>)} bounded_by{ sphere { <0,0,0>, 3}} } intersection{ object{ face(<1,1,1>)} object{ face(<1,1,-1>)} object{ face(<1,-1,1>)} object{ face(<1,-1,-1>)} object{ face(<-1,1,1>)} object{ face(<-1,1,-1>)} object{ face(<-1,-1,1>)} object{ face(<-1,-1,-1>)} bounded_by{ sphere { <0,0,0>, 3}} translate <5,0,1> } intersection{ intersection{ object{ face(<1,0,aureo>)} object{ face(<-1,0,aureo>)} object{ face(<1,0,-aureo>)} object{ face(<-1,0,-aureo>)} object{ face()} object{ face(<-aureo,1,0>)} object{ face()} object{ face(<-aureo,-1,0>)} object{ face(<0,aureo,1>)} object{ face(<0,-aureo,1>)} object{ face(<0,aureo,-1>)} object{ face(<0,-aureo,-1>)} } intersection{ object{ face(<1,1,1>)} object{ face(<1,1,-1>)} object{ face(<1,-1,1>)} object{ face(<1,-1,-1>)} object{ face(<-1,1,1>)} object{ face(<-1,1,-1>)} object{ face(<-1,-1,1>)} object{ face(<-1,-1,-1>)} scale 0.95 } bounded_by{ sphere { <0,0,0>, 3}} translate <-5,0,1> } intersection{ intersection{ object{ face(x)} object{ face(-x)} object{ face(y)} object{ face(-y)} object{ face(z)} object{ face(-z)} } intersection{ object{ face(<1,1,1>)} object{ face(<1,1,-1>)} object{ face(<1,-1,1>)} object{ face(<1,-1,-1>)} object{ face(<-1,1,1>)} object{ face(<-1,1,-1>)} object{ face(<-1,-1,1>)} object{ face(<-1,-1,-1>)} scale 1.15 } bounded_by{ sphere { <0,0,0>, 3}} translate <0,0,3.5> } object{chao} #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 10; #declare dir_camera = < 0,3,1 >; #declare dist_camera = 60; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)