// Fractal Cheese // by Peter Popov (peter.popov@usa.net) // Wed, April 21, 1999, 10:07 - 10:29 (GMT + 02:00) // Enjoy and for God's sake DO NOT GO OVER 4 ITERATIONS! #macro Cheese (vec0, vec3, iter) #if (iter) #local vec1 = vec0*2/3 + vec3/3; #local vec2 = vec0/3 + vec3*2/3; box { , } box { , } box { , } Cheese ( vec0,vec1,iter-1) Cheese ( , , iter-1) Cheese ( , , iter-1) Cheese ( , , iter-1) Cheese ( , , iter-1) Cheese ( , , iter-1) Cheese ( vec2,vec3,iter-1) Cheese ( , , iter-1) #end #end difference { box { -1, 1 } Cheese (<-1,-1,-1>, <1,1,1>, 2) texture { pigment { rgb 1 } finish { ambient 0 diffuse 1 brilliance 1.5 } } rotate -20*y rotate -10*x } camera { location <0.0 , 2.0 ,-5.0>*0.7 right x look_at <0.0 , 0.0 , 0.0> } sky_sphere { pigment { gradient y color_map { [0.0 color rgb <0.7,0.7,1.0>] [1.0 color blue 0.5] } } } light_source { 4*y color rgb <1,0,0> area_light x, z, 3, 3 rotate 45*z rotate -45*y rotate -20*y rotate -10*x } light_source { 4*y color rgb <0,0,1> area_light x, z, 3, 3 rotate 45*z rotate -135*y rotate -20*y rotate -10*x } light_source { 4*y color rgb <0,1,0> area_light x, z, 3, 3 rotate -135*x rotate -20*y rotate -10*x }