int aa = 1920; int bb = 1200; int aabb = aa*bb; int abDIFa = 8; int abDIFb = 4; int aabbDIFa = abDIFa*abDIFa; int aabbDIFb = abDIFb*abDIFb; float[] dif1li = new float[aabbDIFa]; float[] dif2li = new float[aabbDIFb]; float[] Ali = new float[aabb]; float[] Bli = new float[aabb]; int ff_int; float dx, dy, dd, ff, fff; float A, B; float f, k; float Ai, Bi; int m = 0; //------------------------------------------------------------------------------------------------------- void setup() { size(1920, 1200); background(0); frameRate(200); stroke(255, 255); noFill(); for (int i = 0; i < aabb; i++) { Ali[i] = 1; if (random(10) < 1) { Bli[i] = random(1); } else { Bli[i] = 0; } } } //------------------------------------------------------------------------------------------------------- void draw() { for (int i = 0; i < aabb; i++) { A = Ali[i]; B = Bli[i]; A = A*0.5 +(Ali[max(0, i-1)] +Ali[min(aabb-1, i+1)] +Ali[max(0, i-aa)] +Ali[min(aabb-1, i+aa)])/4*0.35 +(Ali[max(0, i-2)] +Ali[min(aabb-1, i+2)] +Ali[max(0, i-2*aa)] +Ali[min(aabb-1, i+2*aa)])/4*0.15; B = B*0.5 +(Bli[max(0, i-1)] +Bli[min(aabb-1, i+1)] +Bli[max(0, i-aa)] +Bli[min(aabb-1, i+aa)])/4*0.5; f = float(i%aa)/19200; k = (float(int(i/aa))+1500+i%aa)/20000; A = A -A*B*B*2 +f*(1-A); B = B +A*B*B*2.2 -(k+f)*B*0.8; Ali[i] = max(0, min(1, A)); Bli[i] = max(0, min(1, B)); } for (int i = 0; i < aabb; i++) { A = Ali[i]; B = Bli[i]; stroke(min(255, B*255 +A*255), B*255, B*255); point(i%aa, int(i/aa)); } m = m +1; saveFrame("d04_map3_#########.png"); println(m); }