1. //stone_140331a

     
  2. Processing Mobile Apps for iOS

    Here are the apps I talk about in the video:

    I also meant to note that both of the IDEs really run Processing’s JavaScript mode. Because of this, if you’re lazy or forgetful like me, you can get away with just typing ‘var’.

    P.S. Does anyone have Processing apps they like for Android?

     
     
  3. //corrosive_140329c

     
  4. questionsomething:

    beatastic:

    got some fantastic artwork done by Jamie Boulton @ http://questionsomething.com/

    New album GL1TCH3S out 30th April 2013

    Also, this is a thing!

    (via beatastic)

     
  5. //corrosive_140329b
    PointPosition p = new PointPosition();
    boolean alternate = true;
    int threshold = 135;
    int[] directions = {
      (width*-1)-1,
      (width*-1)+1,
      width+1,
      width-1
    };

    void setup(){
      background(255);
      size(1000/2,1500/2);
      p.pos.x = 0;
      p.pos.y = 0;
    }

    void draw(){
      fill(255,1);
      stroke(255,1);
      rect(0,0,width,height);
      p.tpos.x = cos(millis()/200)*width/2;
      p.tpos.y = sin(millis()/400)*height/2;
      translate(width/2,height/2);
      stroke(0);
      p.update();
      p.render();
      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-pModifier] = pixels[k] » 3;
            } else if (brightness(pixels[k]) > threshold) {
              pixels[k+pModifier] = pixels[k];
            } else {
              pixels[k] = pixels[k+pModifier] « 24;
            }
          }
        }
      updatePixels();
      int minThreshold = 1;
      int maxThreshold = 200;
      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;
      }
      filter(BLUR,0.58);
    }

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

    int selectRandom(int[] cases){
      int selected = int(random(cases.length));
      int output = cases[selected];
      return output;
    }

     
  6. //dandelion_140327c

     
  7. //dandelion_130328b

     
  8. //dandelion_140327a

     
  9. //rects_140326a

     
  10. //rects_140321a