IFD:All Hail The Pixels/Patterns

From Medien Wiki

ASSIGNMENT 1

"Create three different patterns on paper and formulate these in code with properties using processing"

Please paste your images and processing sketches below:

Rubab Paracha

  • Pattern A

//pattern of sqaures overlapping each other. i tried to use colour and opacity to experiment how layers work in processsing

void setup() { size(600, 600); smooth();

}


void draw() { background(0,102,102);

stroke (255); strokeWeight (1.5);

noFill(); rect (30,200, 100,100);

fill (150); rect (100,220, 100,100);

fill (80, 100); rect (170,240, 100,100);

fill (255,237, 188); rect (240,260, 100, 100);

fill (167, 82, 101, 150); rect (310,280, 100, 100);

fill (254, 190, 126); rect (380,300, 100,100);

fill (254, 190, 126, 120); rect (450,320, 100,100);

}


  • Pattern B

void setup() {

size(900, 600);

background(216,124,124);

}

void draw() {

variableRect(mouseX, mouseY, pmouseX, pmouseY);

}

//abs() calculates the absolute value (magnitude) of a number. The absolute value of a number is always positive

// and draws a small rectangle if the mouse is moving slowly

// and draws a large rectangle if the mouse is moving quickly

// random(255) calls the random colours from 0-255 for the different squares

//working with opacity to show layering

void variableRect(int x, int y, int px, int py) {

float speed = abs(x-px) + abs(y-py);

stroke(0);

fill(random(255),random(255),random(255), 190);

rect(x, y, speed, speed);

}


Fernando Millán

  • Pattern A

Simple pattern in which depending on the position of the Mouse in the Y axis, the pattern starts to get "erased" from the middle.

void setup () {
 size (1000,1000);
}
void draw () {
 background (209);
   noStroke ();
   fill (155,0,0);
   
//pushMatrix();
   Squares();
//popMatrix();
   
float ValueX = mouseX;
float ValueY = mouseY;
   
pushMatrix();
translate(500,500);
    
  rectMode(CENTER);    
  fill (209);
  noStroke ();
   rect(0,0,ValueY,ValueY);
   
  rectMode(CORNER);
popMatrix();
}
void Squares(){
     rect (400,0,200,100);
   
     rect (300,100,100,100);
     rect (600,100,100,100);
   
     rect (200,200,100,100);
     rect (400,200,200,100);
     rect (700,200,100,100);
     
     rect (100,300,100,100);
     rect (300,300,100,100);
     rect (600,300,100,100);
     rect (800,300,100,100);
     
     rect (000,400,100,200);   //both lines at the same time
     rect (200,400,100,200);
     rect (400,400,200,200);
     rect (700,400,100,200);
     rect (900,400,100,200);
     
     rect (100,600,100,100);
     rect (300,600,100,100);
     rect (600,600,100,100);
     rect (800,600,100,100);
     
     rect (200,700,100,100);
     rect (400,700,200,100);
     rect (700,700,100,100);
     
     rect (300,800,100,100);
     rect (600,800,100,100);
     
     rect (400,900,200,100);
}


  • Pattern B

Simple checkerboard pattern in which if clicked, the colors get inverted.


void setup() {
 size(600, 600);
 noSmooth();
 fill(255,0,0);
 background(102);
}
void draw() {              //Setting the colors for pattern A
 if (mousePressed) {
   stroke(255,0,0);
   fill(255,0,0);
 } else {
   stroke(0);
   fill(0);
 }
                       //Starting to draw the checkerboard A
 RowOdd();
 
  pushMatrix(); 
  translate(0, 50);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 100);
 RowOdd();
   popMatrix();
   
    pushMatrix(); 
  translate(0, 150);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 200);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 250);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 300);
 RowOdd();
   popMatrix();
   
    pushMatrix(); 
  translate(0, 350);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 400);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 450);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 500);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 550);
 RowEven();
   popMatrix();
   
   
   if (mousePressed) {
   stroke(0);
   fill(0);
 } else {
   stroke(255,0,0);
   fill(255,0,0);
 }
                       //Starting to draw the checkerboard B
 RowEven();
 
  pushMatrix(); 
  translate(0, 50);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 100);
 RowEven();
   popMatrix();
   
    pushMatrix(); 
  translate(0, 150);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 200);
RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 250);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 300);
 RowEven();
   popMatrix();
   
    pushMatrix(); 
  translate(0, 350);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 400);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 450);
 RowOdd();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 500);
 RowEven();
   popMatrix();
   
   pushMatrix(); 
  translate(0, 550);
 RowOdd();
   popMatrix();   
}
void RowOdd(){
 rect(0,0,50,50);
 rect(100,0,50,50);
 rect(200,0,50,50);
 rect(300,0,50,50);
 rect(400,0,50,50);
 rect(500,0,50,50);
}
 
void RowEven(){
 rect(50,0,50,50);
 rect(150,0,50,50);
 rect(250,0,50,50);
 rect(350,0,50,50);
 rect(450,0,50,50);
 rect(550,0,50,50);
}
  • Pattern C

In this pattern I wanted to draw the same checkerboard pattern but this time, all the squares would rotate on their own axis to reveal the one behind it (with a different color). So far I have not been able to do so, as the squares insist on all rotating from the same point. I'm uploading this while I try to figure it out, if someone else has an idea feel free to post it here.

<post ideas here> <post ideas here>

void setup () {
 size (500,500);
}
void draw () {
 background (209);
rectMode(CENTER);
float Mouse = mouseX;

pushMatrix();
translate(50,50);
rotate(radians(mouseX));
Ele1();
popMatrix();
pushMatrix();
translate(50,50);
//rotate(mouseX);
Ele2();
popMatrix();
} 
   void Ele1(){
     pushMatrix();
   rect(0,0,100,100);
     popMatrix();
   }
 
   void Ele2(){
     pushMatrix();
   rect(200,0,100,100);
     popMatrix();
   }
 
   void Ele3(){
   //  pushMatrix();
   //  rotate(radians(mouseX));
   rect(400,0,100,100);
   //  popMatrix();
   }

Xianzhi Zhang

Andre Faupel

i wanted to create some simple algorithmic pixeldancing reminiscent of audiovisual performances. click anywhere and adjust the refreshrate with UP/DOWN

http://pastebin.com/91y8jZ53