INTER rotated

For this week’s assignment, I originally wanted to spell ” INTERACTIVE MEDIA” and have all the letters rotate and move within the sketch frame. I ended up doing just the first five letters and made them rotate in different( increasing from the centre to the outer space) speed to create some sense of a clockwise sequence of movement.

This is a screenshot of the moving INTER:

Screen Shot 2015-11-11 at 10.52.51 PM

Here’s a recording of the effect. Apology for the advertising info in the middle…

And here’s the code for it. Since the characters are all drawn to the sketch, the code is kinda cumbersome. Apology for that too.

float sWeight = 20;
float alpha = map(sWeight, 10, 30, 170, 200);
float rotArray[] = new float [16];

void setup() {
  size(800, 800);
}

void draw() {
  fill(0, 60);
  rect(0, 0, 800, 800);

  rotArray[0] = 1.0;
  for ( int i=0; i<rotArray.length; i++) {
    rotArray[i] += .5;
  }

  pushMatrix();
  translate(width/2, height/2);
  rotate(radians(rotArray[1]));
  charI();
  rotate(radians(rotArray[1]));
  charN();
  rotate(radians(rotArray[2]));
  charT();
  rotate(radians(rotArray[3]));
  charE();
  rotate(radians(rotArray[4]));
  charR();
  popMatrix();
} 

void charI() {
  stroke(255, alpha);
  strokeWeight(sWeight);
  line(0, 0, 40, 0);
  line(0, 60, 40, 60);
  line(20, 0, 20, 60);
}

void charN() {
  stroke(255, alpha);
  strokeWeight(sWeight);
  line(60, 20, 60, 60);
  line(60, 20, 90, 60);
  line(90, 60, 90, 20);
}

void charT() {
  stroke(240, alpha);
  strokeWeight(sWeight);
  line(80, 40, 120, 40);
  line(100, 40, 100, 90);
}

void charE() {
  stroke(230, alpha);
  strokeWeight(sWeight);
  line(140, 60, 180, 60);
  line(140, 60, 140, 110);
  line(140, 85, 170, 85);
  line(140, 110, 180, 110);
}

void charR() {
  stroke(230, alpha);
  strokeWeight(sWeight);
  line(200, 100, 200, 180);
  noFill();
  arc(200, 120, 70, 40, PI+HALF_PI, TWO_PI+HALF_PI);
  line(200, 130, 240, 170);
}

One thought on “INTER rotated”

Leave a Reply