float top, bottom, right, left, varient, mult, vibration; float[] rgb = new float[3]; void setup() { size( 640, 512 ); background( 0 ); strokeWeight( 1 ); mult = width / 213; varient = mult / 3; vibration = 2; top = mult * 12; bottom = height + 50; left = right = 0; rgb[0] = random( 0, 50 ); rgb[1] = random( 0, 50 ); rgb[2] = random( 0, 50 ); while ( top < bottom ) { left = right += 1; if ( left > width ) { left = right = 0; top += ( ( top / ( mult * 2 ) ) * mult ); if ( top < -10 ) top = -10; varient += varient / 3; float brightnessIncrease = mult * 7; rgb[0] += brightnessIncrease + random( mult, mult ); rgb[1] += brightnessIncrease + random( mult, mult ); rgb[2] += brightnessIncrease + random( mult, mult ); if ( rgb[0] > 255 ) { rgb[0] = 255; } if ( rgb[1] > 255 ) { rgb[1] = 255; } if ( rgb[2] > 255 ) { rgb[2] = 255; } } top += random( ( varient * -1 ), varient ); rgb[0] += random( vibration * -1, vibration ); rgb[1] += random( vibration * -1, vibration ); rgb[2] += random( vibration * -1, vibration ); stroke( int( rgb[0] ), int( rgb[1] ), int( rgb[2] ) ); line(left, int(top), right, bottom); } }