Code for Dextro.org algorithmic image "H011" written by Walter Gorgosilits (Dextro.org) between 1994 and 2017. For research only. No commercial or secret service/clandestine use. H011_blr3: int m = 0; int m3 = 1; int a = 1024; int b = 768; int num1 = 6; int num2 = 100000; float[] xli = new float[num2]; float[] yli = new float[num2]; float[] d1li = new float[24]; float[] pxli = {0.532, 77.454, 654.518, 238.643, 664.677, 243.795, 42.246, 798.077, 190.203, 65.364, 654.518, 238.643, 77.454, 0.532, 0.532, 77.454, 654.518, 238.643, 664.677, 243.795, 42.246, 798.077, 190.203, 65.364}; float[] pyli = {95.144, 139.575, 189.554, 101.739, 275.229, 657.373, 759.726, 263.733, 273.583, 144.739, 139.575, 95.144, 189.554, 101.739, 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, fg, fb; int ble = 5; void setup() {size(1920, 1200, P2D); background(255); frameRate(900); stroke(255, ble); smooth(); for (int i = 0; i < num2; i++) {xli[i] = random(a/2)/5 +390; yli[i] = random(b/2)/4 +195;} 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/2)/5 +390; yli[i] = random(b/2)/4 +195;}} 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/20)*200; if (d2 == 0) {d2 = 0.001;} ff = d3/d2*10; if (ff == 0) {ff = 0.001;} yy2 = sin(ff)*200; xx3 = tan(d3/20)*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) {ffx = (yy-296)*6 +1000; if ((ffx < 0) || (ffx > 960)) {xx = random(a/2)/5 +390;} ffx = ffx*1.6; ffy = (xx-573)*6 +1000; if ((ffy < 0) || (ffy > 640)) {yy = random(b/2)/4 +195;} ffy = ffy*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/3; fr = min(255, max(0, random(abs(V2)*1600)*fff)); fg = 0; fb = min(255, max(0, random(V3*160)*fff)); stroke(fr, fg, fb, ble); point((ffx/2 +random(V2*60)*fff)*2, (ffy/2 +random(V3*10)*fff-50)*2);} xli[n] = xx; yli[n] = yy;}}} H011_blr2: int m = 0; int m3 = 1; int a = 1024; int b = 768; int num1 = 6; int num2 = 100000; float[] xli = new float[num2]; float[] yli = new float[num2]; float[] d1li = new float[24]; float[] pxli = {0.532, 77.454, 654.518, 238.643, 664.677, 243.795, 42.246, 798.077, 190.203, 65.364, 654.518, 238.643, 77.454, 0.532, 0.532, 77.454, 654.518, 238.643, 664.677, 243.795, 42.246, 798.077, 190.203, 65.364}; float[] pyli = {95.144, 139.575, 189.554, 101.739, 275.229, 657.373, 759.726, 263.733, 273.583, 144.739, 139.575, 95.144, 189.554, 101.739, 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, fg, fb; int ble = 5; void setup() {size(1920, 1200, P2D); background(125); frameRate(900); stroke(255, ble); smooth(); for (int i = 0; i < num2; i++) {xli[i] = random(a/2)/5 +390; yli[i] = random(b/2)/4 +195;} 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/2)/5 +390; yli[i] = random(b/2)/4 +195;}} 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/20)*200; if (d2 == 0) {d2 = 0.001;} ff = d3/d2*10; if (ff == 0) {ff = 0.001;} yy2 = sin(ff)*200; xx3 = tan(d3/20)*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) {ffx = (yy-296)*6 +1000; if ((ffx < 0) || (ffx > 960)) {xx = random(a/2)/5 +390;} ffx = ffx*1.6; ffy = (xx-573)*6 +1000; if ((ffy < 0) || (ffy > 640)) {yy = random(b/2)/4 +195;} ffy = ffy*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((ffx/2 +random(V2*60)*fff)*2, (ffy/2 +random(V3*10)*fff-50)*2);} xli[n] = xx; yli[n] = yy;}}}