#declare BEAD = object{ sphere { <0,0,0>, 1 pigment { color rgb<1,1.0,1.0> } finish { phong 0.33 reflection 0.33 metallic on } } }; light_source { <0,0,0>, color rgb<0,1,1> } light_source { <0,-5,0>, color rgb<1,0,1> } light_source { <-5,0,-5>, color rgb<1,1,0> } camera { fisheye location <1.2,1.2,1.2> look_at <0,0.35,0> angle 25 } #macro FRACTAL_JEWEL( level ) #if( level = 0 ) object{ BEAD } #end #if( level > 0 ) #local theta = 0; #local phi = -90; union { #while( phi <= 90 ) object { FRACTAL_JEWEL( level - 1 ) scale <0.1,0.1,0.45> translate <0,0,0.5> rotate x*phi rotate y*theta } #local theta = theta + level*10; #local phi = phi + 10; #end } //union #end #end FRACTAL_JEWEL( 4 )