Archive | March 2012

Projection through layers of string

Digital projection through multiple layers of string.  Images begin to break apart on each layer.

Video:

Moiré with Processing

(spacing 1, spacing 2, angle 1, angle 2, shift 1, shift 2)

(5, 5, 0, 0, 1, 1)

(5, 7, 0, 0, 1, 1)

(5, 9, 0, 0, 1, 1)

(5, 5, 5, 0, 1, 1)

(5, 5, 10, 0, 1, 1)

(5, 5, 0, 0, 5, 1)

(5, 5, 0, 0, 10, 1)

(5, 5, 5, 0, 5, 1)

(5, 5, 5, 0, 10, 1)

(5, 5, 5, 0, 1, 10)

Moiré Processing

Using Processing to produce Moiré patterns.

Processing code:

//moiré maker by kjanzen, 2012
//Drawing two sets of lines at varying angles and spacings. (see settings)
//Press 'p' to save as PDF. (saves to sketch directory)
import processing.pdf.*;
void setup() {
size(1280, 720); //size (pixels x pixels)
background(255); //backgtound colour (0 = black, 255 = white)
}
void keyPressed(){
 if (key=='p'){ //press 'p' to save PDF (saves to sketch dir)
 beginRecord(PDF, "moire.pdf"); //save PDF as ('name'.pdf)
}
}
void draw() {
//settings
int angle1 = 0; //adjust angle for set1 (<20)
int angle2 = 0; //adjust angle for set2 (<20)
int spacing1 = 10; //adjust spacing for set2
int spacing2 = 7; //adjust spacing for set2
int shift1 = 1; //adjust shift for set1 (!=0)
int shift2 = 1; //adjust shift for set2 (!=0)
//set1
for (int i=0; i<width+1500; i+=spacing1) {
 stroke(0);
 pushMatrix();
 // move the origin to the pivot point
 translate(0, -500);
 // then pivot the grid
 rotate(radians(angle1));
 // and draw the square at the origin
 line(i, 0, i/shift1, width+1500);
 popMatrix();
//set2
 for (int j=0; j<width+1500; j+=spacing2) {
 stroke(0);
 pushMatrix();
 // move the origin to the pivot point
 translate(0, -500);
 // then pivot the grid
 rotate(radians(angle2));
 // and draw the square at the origin
 line(j, 0, j/shift2, width+1500);
 popMatrix();
}
}
 endRecord();
}

Frei Otto – Olympic Stadium (1972)

Munich Olympic Stadium (1972), Frei Otto, Link