Vertex Landscape

FOR INTERACTIVE SKETCH, CLICK HERE.
^the program runs too slow on this page…

Vertex Landscape series, 2015-current.
Rendered with code in Processing.

Source Code (slow load on mobile)

float shade = 255; // color fill each vertex , shade = shade+shadeincrease;
float shadeR = 255; 
float shadeG = 255; 
float shadeB = 255; 
float randR = random(0, 50); 
float randG = random(0, 50); 
float randB = random(0, 50); 

float shadeincrease = -.75; // delta shade/ vertex
float sWeight = .25; // strokeWeight , sWeight = random (.25, yRandom*2);
float outline = 255; // outline = outline-shadeincrease;

float accelerator = 1.01;
float linespacing = 64; // range: 9 - 100 , linespacing = linespacing*accelerator;
float xspacing = 1; // rigid/smooth , xspacing = xspacing*accelerator;

float xRandom = .01; // range: .1 - .5
float yRandom = .2; // range .1 - .4
int wide = 8;
int tall = wide; 
int points =100; // range: 9+

//declare arrays
float [] xArray = new float [points];
float [] yArray = new float [points];
float [] xArrayNew = new float [points];
float [] yArrayNew = new float [points];

float firstPtY; // keep track of y Pos

void setup () {
  size (320, 500);
  background(200, 200, 250);
  smooth ();
  for (int i = 0; i < points; i++) {
    xArray[i] = i-(points/2);
  }
  for (int i = 0; i < points; i++) {
    yArray[i] = -10;
  }
}

void draw () {
  if (firstPtY <= 500) {
    translate (wide, tall-wide);
    for (int i = 0; i < points; i++) {
      xArrayNew[i] = xArray[i] + random (-xRandom, xRandom);
    }
    for (int i = 0; i < points; i++) {
      yArrayNew[i] = yArray[i] + random (-yRandom, yRandom);
    }
    fill (shadeR+randR*random(1, 2), shadeG+randG*random(1, 2), shadeB+randB*random(1, 2));  //main fill
    stroke (shade);
    strokeWeight (sWeight);
    beginShape (); 
    vertex (-50, 500);
    for (int i = 0; i < points; i++) {
      curveVertex (xspacing*11*xArrayNew[i], linespacing+11*yArrayNew[i]);
      firstPtY = linespacing+11*yArrayNew[0];
    }
    vertex (500, 500);
    vertex (-50, 500);

    endShape (CLOSE);
    //reset arrays
    for (int i = 0; i < points; i++) { 
      xArray[i] = xArrayNew[i];
    }
    for (int i = 0; i < points; i++) {
      yArray[i] = yArrayNew[i];
    }
    //accelerate
    linespacing = linespacing*accelerator;
    xspacing = xspacing*accelerator*1.0005;
    yRandom = yRandom*accelerator;
    //design change
    shade = shade+shadeincrease*1.5; //incremental , shade = mouseY/2;
    shadeR = shade+shadeincrease*.2; //incremental , shade = mouseY/2;
    shadeG = shade+shadeincrease*.2; //incremental , shade = mouseY/2;
    shadeB = shade+shadeincrease*.2; //incremental , shade = mouseY/2;
    outline = outline-shadeincrease*1.9;
    sWeight = random (.75, yRandom*4);
  }
}

void mousePressed() {
  reset();
}

void reset() {
  //background(255);
  shade = 255; 
  shadeincrease = -.55; 
  sWeight = .25; 
  outline = 128; //outline = outline-shadeincrease;
  accelerator = 1.01;
  linespacing = 64; //range: 9 - 100
  xspacing = random(0, 16); //rigid/smooth
  xRandom = .01; // range: .1 - .5
  yRandom = .2; // range .1 - .4
  wide = 8; // range: 100- 500
  tall = wide; // range: 16/7- 6/9
  points =100; // range: 9+
  xArray = new float [points];
  yArray = new float [points];
  xArrayNew = new float [points];
  yArrayNew = new float [points];
  for (int i = 0; i < points; i++) {
    xArray[i] = i-(points/2); //range: points/2- points/9
  }
  for (int i = 0; i < points; i++) {
    yArray[i] = -16; //reset new lineY to mouseY
  }
  randR = random(0, 50);
  randG = random(0, 50);
  randB = random(0, 50);
  firstPtY = 0;
}

Seriously, don’t open the code on your phone.