#include "textures.inc" global_settings { radiosity { recursion_limit 3 brightness 1 } } #declare cb= box { <-1, -1, -1> <1, 1, 1> texture { Rad_Blue } } camera { location <0, 10, -10> look_at 0 angle 40 } #declare s1=seed(1747); #declare s2=seed(1125); #declare s3=seed(31); #declare s4=seed(652000); #declare fax=3; #declare fay=2.5; #declare faz=3.5; #declare sf=0.35; #declare rwx=0; #declare rwy=0; #declare rwz=0; union { object { cb } #declare a=0; #declare ve=<0, 0, 0>; #while (a<8) #declare d1=sqrt(2); #declare ve=; object { cb scale rotate translate ve } #declare b=0; #while (b<8) #declare d2=d1*sf; #declare fx=d2*sin(b*90*(pi/180)); #declare fy=(-1+2*int(b/4))*sf; #declare fz=d2*cos(b*90*(pi/180)); #declare vf=ve+; #if (!(fx=d2*sin((a*90+180)*(pi/180)) & fy=-(-1+2*int(a/4))*sf & fz=d2*cos((a*90+180)*(pi/180)))) object { cb scale rotate translate vf } #end #declare c=0; #while (c<8) #declare d3=d2*sf; #declare gx=d3*sin(c*90*(pi/180)); #declare gy=(-1+2*int(c/4))/pow(2.5, 2); #declare gz=d3*cos(c*90*(pi/180)); #declare vg=vf+; #if (!(gx=d3*sin((b*90+180)*(pi/180)) & gy=-(-1+2*int(b/4))/pow(2.5, 2) & gz=d3*cos((b*90+180)*(pi/180)))) object { cb scale rotate translate vg } #end #declare d=0; #while (d<8) #declare d4=d3*sf; #declare hx=d4*sin(d*90*(pi/180)); #declare hy=(-1+2*int(d/4))/pow(2.5, 3); #declare hz=d4*cos(d*90*(pi/180)); #declare vh=vg+; #if (!(hx=d4*sin((c*90+180)*(pi/180)) & hy=-(-1+2*int(c/4))/pow(2.5, 3) & hz=d4*cos((c*90+180)*(pi/180)))) object { cb scale rotate translate vh } #end #declare e=0; /* #while (e<4) #declare d5=d4*sf; #declare ix=d5*sin(e*90*(pi/180)); #declare iy=(-1+2*int(e/4))/pow(2.5, 4); #declare iz=d5*cos(e*90*(pi/180)) #declare vi=vh+; #if (!(ix=d5*sin((d*90+180)*(pi/180)) & iy=-(-1+2*int(d/4))/pow(2.5, 4) & iz=d5*cos((d*90+180)*(pi/180)))) object { cb scale pow(2.5, 5) translate vi } #end #declare e=e+1; #end */ #declare d=d+1; #end #declare c=c+1; #end #declare b=b+1; #end #declare a=a+1; #end rotate y*45 } sky_sphere { pigment { color rgb 1 } }