PROCESSING : AIR HOLES

Your browser does not support the canvas tag.

 


Using Processing, I’ve attempted to create a simple algorithm for a natural process observed at Figure Eight Island’s beach.

What I was looking to find were repeated processes that resembled studio drawing practices. What I realized is that a simple process with a small variation performed in repetition can produce beautiful complexity. This is my attempt at abstracting the process of air bubbling up through the sand and creating air holes. The photos I have used for inspiration are available on my Facebook page in an album called trees, trails and holes.


//
// Randomized Concentric Rings
//

float m; // timer
float t; // transparency

void setup() {

// draw new ring every two seconds
m = millis() + 2000;
t = 20;
size(600, 600);
noStroke();
background(183, 183, 183);
}

void draw() {

// draw 100 rings
for (int d = 500; d > 0; d -= 5) {

// centered with small random variation
float r1 = random(-10, 10);
float r2 = random(-10, 10);
float r3 = random(10, 90);

// modified randomly for width and height
float rw = width/8 + random(50) + random(20);
float rh = rw + random(-20, 20);

// draw a ring every 2 seconds with a bit of randomness
if(millis() >= m){
fill(22 + r3, 12 + r3, 12 + r3, t);
ellipse(width/2 + r1, height/2 + r2, rw, rh);

// increment transparency
if (t < 255) {
t++;
}

// increment timer
m = millis() + 2000 + random(100, 1000);
}
}
}