Eritis sicut dei. Ex machina libertas.
ysabelledurant:

ink line drawing

ysabelledurant:

ink line drawing

forgethowtotalk:

//unwinding_140427bArrayList<PointPosition> pointPosition = new ArrayList();float lposX, lposY;boolean alternate = true;int threshold = 135;int width = 1000/2;int[] directions = {  (width*-1)-1,  (width*-1)+1,  width+1,  width-1};void setup(){  background(255);  size(width,1500/2);  startScatter();}void draw(){  fill(255,200);  stroke(255,200);  rect(0,0,width,height);  int i = 0;  for(PointPosition p:pointPosition){    i++;    p.tpos.x = p.tpos.x+cos(millis()/3)*width/i*12;    p.tpos.y = p.tpos.y+sin(millis())*width/i*12;    p.update();    stroke(0,100);    p.render();    float pDist = dist(lposX,lposY,p.pos.x,p.pos.y);    if (pDist < width/2) {      stroke(0,20);      line(lposX,lposY,p.pos.x,p.pos.y);    }    lposX = p.pos.x;    lposY = p.pos.y;  }  loadPixels();    for (int k=0; k<pixels.length; k++) {      int pModifier = selectRandom(directions);      if (k > width+1 && k < pixels.length-width-1) {        if (brightness(pixels[k]) == threshold) {          pixels[k] = pixels[k] » 56;         } else if (brightness(pixels[k]) > threshold) {//        } else {          pixels[k+pModifier] = pixels[k];        }      }    }  updatePixels();  int minThreshold = 1;  int maxThreshold = 153;  threshold = setThreshold(threshold,minThreshold,maxThreshold);  filter(BLUR,0.58);}class PointPosition {  PVector pos = new PVector();  PVector tpos = new PVector();  void update(){    pos.lerp(tpos,0.01);  }  void render(){    point(pos.x,pos.y);  }}int setThreshold(int threshold, int minThreshold, int maxThreshold) {  if (threshold < maxThreshold && threshold > minThreshold && alternate) {    threshold++;  } else if (threshold < maxThreshold && threshold > minThreshold) {    threshold—;  } else if (alternate) {    threshold = maxThreshold;    alternate = !alternate;  } else {    threshold = minThreshold;    alternate = !alternate;  }  return threshold;}int selectRandom(int[] cases){  int selected = int(random(cases.length));  int output = cases[selected];  return output;}  void startScatter(){  for (int i=0; i<width; i++) {    PointPosition p = new PointPosition();      lposX = width/2+cos(i)*width/3;      lposY = height/2+sin(i)*width/3;      p.pos.x = width/2;      p.pos.y = height/2;      p.tpos.x = width/2+cos(i)*width/3;      p.tpos.y = height/2+sin(i)*width/3;    pointPosition.add(p);  }}

forgethowtotalk:

//unwinding_140427b
ArrayList<PointPosition> pointPosition = new ArrayList();
float lposX, lposY;
boolean alternate = true;
int threshold = 135;
int width = 1000/2;
int[] directions = {
  (width*-1)-1,
  (width*-1)+1,
  width+1,
  width-1
};

void setup(){
  background(255);
  size(width,1500/2);
  startScatter();
}

void draw(){
  fill(255,200);
  stroke(255,200);
  rect(0,0,width,height);
  int i = 0;
  for(PointPosition p:pointPosition){
    i++;
    p.tpos.x = p.tpos.x+cos(millis()/3)*width/i*12;
    p.tpos.y = p.tpos.y+sin(millis())*width/i*12;
    p.update();
    stroke(0,100);
    p.render();
    float pDist = dist(lposX,lposY,p.pos.x,p.pos.y);
    if (pDist < width/2) {
      stroke(0,20);
      line(lposX,lposY,p.pos.x,p.pos.y);
    }
    lposX = p.pos.x;
    lposY = p.pos.y;
  }
  loadPixels();
    for (int k=0; k<pixels.length; k++) {
      int pModifier = selectRandom(directions);
      if (k > width+1 && k < pixels.length-width-1) {
        if (brightness(pixels[k]) == threshold) {
          pixels[k] = pixels[k] » 56;
        } else if (brightness(pixels[k]) > threshold) {
//
        } else {
          pixels[k+pModifier] = pixels[k];
        }
      }
    }
  updatePixels();
  int minThreshold = 1;
  int maxThreshold = 153;
  threshold = setThreshold(threshold,minThreshold,maxThreshold);
  filter(BLUR,0.58);
}

class PointPosition {
  PVector pos = new PVector();
  PVector tpos = new PVector();
  void update(){
    pos.lerp(tpos,0.01);
  }
  void render(){
    point(pos.x,pos.y);
  }
}

int setThreshold(int threshold, int minThreshold, int maxThreshold) {
  if (threshold < maxThreshold && threshold > minThreshold && alternate) {
    threshold++;
  } else if (threshold < maxThreshold && threshold > minThreshold) {
    threshold—;
  } else if (alternate) {
    threshold = maxThreshold;
    alternate = !alternate;
  } else {
    threshold = minThreshold;
    alternate = !alternate;
  }
  return threshold;
}

int selectRandom(int[] cases){
  int selected = int(random(cases.length));
  int output = cases[selected];
  return output;
}
 
void startScatter(){
  for (int i=0; i<width; i++) {
    PointPosition p = new PointPosition();
      lposX = width/2+cos(i)*width/3;
      lposY = height/2+sin(i)*width/3;
      p.pos.x = width/2;
      p.pos.y = height/2;
      p.tpos.x = width/2+cos(i)*width/3;
      p.tpos.y = height/2+sin(i)*width/3;
    pointPosition.add(p);
  }
}

girlintroubles:

similar posts here
beesandbombs:

shadows

beesandbombs:

shadows

beesandbombs:

black and white spinners

beesandbombs:

black and white spinners

mralexjansen:

mraj
drugsruleeverythingaroundme:

D.R.E.A.M. - Drugs rule everything around me
onthegoldenporch:

Ultima Thule, plywood sculpture - Tapio WirkkalaScandinavian Pavillon - Montreal 1967(via Studio Hansen)

onthegoldenporch:

Ultima Thule, plywood sculpture - Tapio Wirkkala
Scandinavian Pavillon - Montreal 1967
(via Studio Hansen)