// Spheres / Arch // Please use freely for non comercial purpose. // All rights reserved by Tsutomu HIGO, Oct. 11, 1998 // // *CAUTION // This scene requires large RAM for high quality. // Please adjust the number of spheres by the increasing value // of parameter A. #version 3.0 global_settings { assumed_gamma 2.2 } camera { location <100,0,60> angle 41 look_at <0, 10, 0> } light_source {<50, 100, 50> color rgb <1,1,1>} light_source {<-20, 30, 18> color rgb <1,1,1>} #declare Rlo =5 #declare Rso =0.6 #declare Tx =1 #while (Tx<5) #declare Tz =1 #while (Tz<5) union { #declare A =0 #while (A<6.3) #switch (Tz) #case (1) #declare Rlysw=0 #declare Rldsw=2 #declare Rssw=1 #declare Rsysw=0 #declare Rsad=0 #declare Cysw=1 #declare Cyp=4 #declare Cyt=Tx #declare Cxp=1 #declare Cxt=Tx-Tz #declare Czp=Tz #declare Czt=Tx #declare Czsw=1 #break #case (2) #declare Rlysw=1 #declare Rldsw=1 #declare Rssw=0 #declare Rsysw=0 #declare Rsad=0.4 #declare Cysw=0 #declare Cyp=4 #declare Cyt=1 #declare Cxp=1 #declare Cxt=2*Tx #declare Czp=Tz #declare Czt=3*Tx #declare Czsw=1 #break #case (3) #declare Rlysw=-1 #declare Rldsw=1 #declare Rssw=0 #declare Rsysw=1 #declare Rsad=0.2 #declare Cysw=1 #declare Cyp=7 #declare Cyt=1 #declare Cxp=1 #declare Cxt=Tx-Tz #declare Czp=Tz #declare Czt=Tx #declare Czsw=1 #break #case (4) #declare Rlysw=0 #declare Rldsw=1 #declare Rssw=1 #declare Rsysw=0 #declare Rsad=0.3 #declare Cysw=1 #declare Cyp=6 #declare Cyt=Tx #declare Cxp=4 #declare Cxt=Tx-Tz #declare Czp=4 #declare Czt=Tx #declare Czsw=0 #break #end #declare Rl =Rlo/(2-sin(A)*Rlysw)*Rldsw #declare Rs =Rssw*Rso+Rsysw*2*Rso/(2-sin(A))/(2-sin(A))+Rsad #declare Cy =Cyp*(Cysw*Rl+(1-Cysw)*Rlo)*sin(A*Cyt) #declare Cx =Cxp*Rl*cos(A*Cxt) #declare Cz =Czp*Rl*(Czsw*cos(A*Czt)+(1-Czsw)*sin(A*Czt)) #declare Scalexz=1+pow((Rl-Cy)/Rl,4)*Rl/Rs/500 sphere { <0, 0, 0> Rs scale translate texture { pigment {color rgb <0.8-Cy/Rl/20, 0.8-Cy/Rl/20, 0.8-Cy/Rl/100 >} finish {ambient 0.02 phong 1 diffuse 0.5} } } #declare A = A+0.2/(10+Tx)*(4+Tz)/(10+Tx)*(4+Tz) #end // I rendered Gallery's image by // "A = A = A+0.02/(10+Tx)*(4+Tz)/(10+Tx)*(4+Tz)". scale y*1 rotate y*45 translate no_shadow } #declare Tz = Tz+1 #end #declare Tx = Tx+1 #end sky_sphere { pigment { gradient y color_map { [ 0.02 color rgb <1,1,0.8> ] [ 1.00 color rgb <0.3,0.3,1> ] } scale 0.5 translate 0 } }