#version 3.7; global_settings { assumed_gamma 1.0 } #include "colors.inc" sky_sphere {pigment {rgb <1, 1, 1>}} #declare Zoom = 1; camera { orthographic right x*image_width/(Zoom) up y*image_height/(Zoom) location // position & direction of view look_at } light_source {<0, 0, -100> color White} #declare test = 1; // fraction of actual render size to process //#declare n = 80; #declare w = 0.35; #declare Seed = seed (123); #declare I = image_height/test; #declare J = image_width/test; #declare r = 0; #declare Pigment = array [2] {pigment {Blue*0.2}, pigment {Green}}; #declare Image = array [I][J]; #for (i, 0, I-1) #for (j, 0, J-1) #declare Image [i][j] = select(0.5 - rand (Seed), 0, 1); //#debug concat ( str (Image [i][j], 1, 1), ", ") #end // end for j #end // end for i #for (DO, 1, 50) #for (i, 0, I-1) //#debug concat ( "Row ", str (i, 3, 1), "... \n") #for (j, 0, J-1) #declare ID = 0; #declare AD = 0; #for (di, -6, 6) #for (dj, -6, 6) #if (i + di - 1 < 0 | i + dj - 1 < 0) //skip #else #if (Image [mod(i + di - 1, I)][mod(i + dj - 1, J)] = 1) #declare r = sqrt( pow(di,2)+pow(dj,2) ); #elseif (r >= 3 & r <= 6) #declare ID = ID + 1; #elseif (r <= 3) #declare AD = AD + 1; #end // end if #end // end check #end // end for dj #end // end for ij #declare a = AD - w*ID; #declare Image [i][j] = select (a, 0, 1); #end // end for j #end // end for i #for (i, 0, I-1) #for (j, 0, J-1) sphere {, 0.75 pigment {Pigment [Image [i][j] ]} } #end // end for j #end // end for i #end // end for DO