// =========================================================================== // // Count the black dots! // // Ian Shumsky / OuterArm 2000 // ian@outerarm.demon.co.uk / http://www.outerarm.demon.co.uk // // Based on an eye puzzle seen on an office wall. Render as large as you like, // but DON'T use AA for best results. // // =========================================================================== #declare box_size=1; #declare box_space=box_size/10; #declare all_height=0.5; #declare cylinder_radius=sqrt(2*((0.5*box_space)*(0.5*box_space))); camera { location <(4*box_size)+(3.5*box_space),8,(3*box_size)+(2.5*box_space)-0.5> look_at <(4*box_size)+(3.5*box_space),0,(3*box_size)+(2.5*box_space)-0.5> orthographic } background {colour rgb 1} light_source { <(4*box_size)+(3.5*box_space),100,(3*box_size)+(2.5*box_space)-0.5> colour rgb 1 shadowless } #declare base_box = box { <0,0,0>, pigment {colour rgb 0.1} } #declare base_cylinder = cylinder { <0,0,0>,<0,all_height,0>,cylinder_radius pigment {colour rgb 1} } // Background box box { <0,0,0>,<(8*box_size)+(7*box_space),-all_height,(6*box_size)+(5*box_space)> pigment {colour rgb 0.65} } //boxes #declare sx=0; #while (sx<8) #declare sz=0; #while (sz<6) object { base_box translate } #declare sz=sz+1; #end #declare sx=sx+1; #end //cylinders #declare sx=0; #while (sx<7) #declare sz=0; #while (sz<5) object { base_cylinder translate <(sx*(box_size+box_space))+box_size+(0.5*box_space),0,(sz*(box_size+box_space))+box_size+(0.5*box_space)> } #declare sz=sz+1; #end #declare sx=sx+1; #end text { ttf "crystal.ttf", "Count the black dots!", -all_height, 0 scale 0.81 rotate x*90 translate <0,0,-1> }