Code for Dextro.org algorithmic image "H013" written by Walter Gorgosilits (Dextro.org) between 1994 and 2017. For research only. No commercial or secret service/clandestine use. int m = 0; int m3 = 1; int a = 1024; int b = 768; int num1 = 6; int num2 = 1000000; float[] xli = new float[num2]; float[] yli = new float[num2]; float[] d1li = new float[24]; float[] pxli = {243.795, 243.246, 243.077, 243.203, 243.364, 654.518, 238.643, 243.454, 0.532, 0.532, 243.454, 243.518, 243.643, 664.677, 243.795, 42.246, 798.077, 190.2030, 65.364, 0.532, 77.454, 654.518, 238.643, 664.677}; float[] pyli = {95.144, 139.575, 189.554, 95.739, 95.229, 95.373, 95.726, 95.733, 95.583, 95.739, 95.575, 95.144, 95.554, 101.7390, 95.144, 139.575, 189.554, 101.739, 275.229, 657.373, 759.726, 263.733, 273.583, 273.583}; int m5 = 0; float x1, y1, x2, y2, d1, d2, d3, V2, V3, dx, dy, xxcc, yycc, wp1, wp2, xx, yy, dd, w, ff, ffx, ffy, fff, xxp, yyp, xx2, yy2, xx3, yy3, ffff, dp1, dp2, wpp; float ff1, ff2, fr, fb, fg; int ble = 5; int SEGMENTx = 0; int SEGMENTy = 0; void setup() {size(5520, 3600, P2D); background(0); frameRate(900); stroke(0, ble); smooth(); for (int i = 0; i < num2; i++) {xli[i] = random(a)/7; yli[i] = random(b)/2;} for (int i = 0; i < 24/2; i++) {x1 = pxli[2*i]; y1 = pyli[2*i]; x2 = pxli[2*i+1]; y2 = pyli[2*i+1]; dx = abs(x1 -x2); dy = abs(y1 -y2); d1 = sqrt(dx*dx +dy*dy);if (d1 == 0) {d1 = 1;} d1li[i] = d1;}} void draw() {m = m +1; if (m == 3) {m = 0; m3 = m3 +1; for (int i = 0; i < num2; i++) {xli[i] = random(a)/7 +390; yli[i] = random(b)/2 +60;}} for (int i = 0; i < num1/2; i++) {x1 = pxli[2*i]; y1 = pyli[2*i]; x2 = pxli[2*i+1]; y2 = pyli[2*i+1]; d1 = d1li[i]; for (int n = 0; n < num2; n++) {xx = xli[n]; yy = yli[n]; xxcc = xx; yycc = yy; dx = abs(xx -x1); dy = abs(yy -y1); d2 = sqrt(dx*dx +dy*dy); dd = sqrt(dx*dx +dy*dy); if (dx == 0) {dx = 0.001;} if (dy == 0) {dy = 0.001;} if ((dx >= 0) && (dy >= 0)) {w = atan(dy/dx)*(180/PI) +180;} if ((dx < 0) && (dy >= 0)) {w = atan(dy/dx)*(180/PI);} if ((dx < 0) && (dy < 0)) {w = atan(dy/dx)*(180/PI);} if ((dx >= 0) && (dy < 0)) {w = atan(dy/dx)*(180/PI) +180;} V2 = sin(w*PI/3); d2 = d2 +V2*24; V3 = atan(w*PI/9); d2 = d2 +V3*100; dx = abs(xx -x2); dy = abs(yy -y2); d3 = sqrt(dx*dx +dy*dy); ff = min(d1, d2, d3); if (ff == 0) {ff = 0.001;} xx = xx -(xx -x2)/ff; yy = yy -(yy -y2)/ff; fff = d2/10; xxp = xx +cos(d3*PI/10)*tan(abs(fff)); yyp = yy +sin(d3*PI/10)*tan(abs(fff)); ff = d2/d3*10; if (ff == 0) {ff = 0.001;} xx2 = tan(ff/2)*200; if (d2 == 0) {d2 = 0.001;} ff = d3/d2*10; if (ff == 0) {ff = 0.001;} yy2 = sin(ff)*200; xx3 = tan(d3/2)*200; yy3 = atan(d3/3)*200; ff = min(xx2, yy2); if (ff == 0) {ff = 0.0001;} xx = xx +(xx -xxp)/ff; ff = min(yy3, xx3); if (ff == 0) {ff = 0.0001;} yy = yy +(yy -yyp)/ff; dx = abs(xxcc -xx); dy = abs(yycc -yy); dp1 = sqrt(dx*dx +dy*dy); if (dx == 0) {dx = 0.001;} if (dy == 0) {dy = 0.001;} if ((dx >= 0) && (dy >= 0)) {wp1 = atan(dy/dx)*(180/PI) +180;} if ((dx < 0) && (dy >= 0)) {wp1 = atan(dy/dx)*(180/PI);} if ((dx < 0) && (dy < 0)) {wp1 = atan(dy/dx)*(180/PI);} if ((dx >= 0) && (dy < 0)) {wp1 = atan(dy/dx)*(180/PI) +180;} dx = abs(xxcc -xxp); dy = abs(yycc -yyp); if (dx == 0) {dx = 0.001;} if (dy == 0) {dy = 0.001;} if ((dx >= 0) && (dy >= 0)) {wp2 = atan(dy/dx)*(180/PI) +180;} if ((dx < 0) && (dy >= 0)) {wp2 = atan(dy/dx)*(180/PI);} if ((dx < 0) && (dy < 0)) {wp2 = atan(dy/dx)*(180/PI);} if ((dx >= 0) && (dy < 0)) {wp2 = atan(dy/dx)*(180/PI) +180;} wpp = min(wp1, wp2); wpp = wpp +tan(wp1)*10; dx = abs(xx -xxp); dy = abs(yy -yyp); dp2 = sqrt(dx*dx +dy*dy); xx = xx +cos(wpp*PI/180)*dp1; yy = yy +sin(wpp*PI/180)*dp1; if (i == num1/2-1) { fff = (yy-296)*6 +1000; if ((fff < -1000) || (fff > 1760)) {xx = random(a)/6 +390;} ffx = fff*1.6; fff = (xx-573)*6 +1000; if ((fff < -400) || (fff > 640)) {yy = random(b)/2 +40;} ffy = fff*1.6 +140; ffy = ((ffy*1.25)*1.7 -200); ffx = ((ffx*1.25 -900)*1.7 +300); fff = abs(xxcc-xx)*abs(yycc-yy)*10; fr = min(255, max(0, random(abs(V2)*1600)*fff)); fg = 30; fb = min(255, max(0, random(V3*160)*fff)); stroke(fr, fg, fb, ble); point((-450 -ffx/2+random(V2*60)*fff)*12-SEGMENTx*5520, (950 -ffy/2 +random(V3*10)*fff)*12-SEGMENTy*3600);}xli[n] = xx; yli[n] = yy;}} if (m3 == 6000) {saveFrame(); m = 0; m3 = 0; background(0); SEGMENTx = SEGMENTx +1; if (SEGMENTx == 2) {SEGMENTx = 0; SEGMENTy = SEGMENTy +1; if (SEGMENTy == 4) {SEGMENTy = 0;}}}}