rho­b­8­6­1­7 - Ass­e­s­s­m­e­n­t 1

by Rhys Hobbs
  • Show Sketch
/** @peep sketchcode */
 
size(400, 400);   //sets the canvas size to 400p x 400p
background(0);    //background set as black
 
 
// BACKGROUND SECTION OF SKETCH ~~
/* This section of the sketch creates the grey and coloured
   backgrounds*/
 
 
for (float A = 15; A < width-10; A = A+5) {   //sets requirement for 1st parameter of sketch (starts at 15, less than 390 and moves in increments of 5
  for (float B = 15; B < height-10; B = B+5) {    //sets requirement for 2nd parameter of sketch (starts at 15, less than 390 and moves in increments of 5
 
    drawBackground(A, B);   //custom function name for background
  }
}
    void drawBackground(float A, float B) {   //instructs computer to run custom function drawBackground
    strokeWeight(random(4));    //strokeweight between 0 and 4
    if (A < width/2) {    //instructs computer to change stroke colour to grey if less than half widith
    stroke(255, 66);
    }
    else if (A > width/2) {   //if greater than half width, computer instructed to randomize colours of points
    stroke(random(255), random(245), random(255));
    }
    point(A, B);
  }
// END OF BACKGROUND SECTION OF SKETCH ~~
 
//-------------------------------------------------------------------
 
// DRAWING OF LINES ~~
/* This section of the sketch creates the ones of the ones & zeroes
   visible on the coloured portion of the background*/ 
 
  for (float X1 = 200; X1 < width-10; X1 = X1 + random(15,25)) {    //defines requirements of vertex x coordinate - starts at 200 and less than 390
  for (float Y1 = 15; Y1 <  height-25; Y1 = Y1 +random(15,25)) {    //defines requirements of vertex y coordinate - starts at 15 and less than 375
 
    drawLines(X1, Y1);    //custom function name of ones portion of sketch
  }
}
 
    void drawLines(float X1, float Y1) {    //instructs the computer to create shapes resembling the number 1
      beginShape(); 
      strokeWeight(2);    //sets requirements - stroke weight, colour and positioning relative to returned float value
      stroke(252,231,202);
      vertex(X1, Y1);
      vertex(X1, Y1+8);
      endShape();   //by using begin/endShape, the computer knows to connect to the vertices creating a shape
    }
 
// END OF DRAWING OF LINES ~~
 
//-------------------------------------------------------------------
 
// DRAWING CIRCLES ~~
/* This portion of the sketch creates the zeroes that make up the 2nd half
   of the ones & zeroes overlaying the coloured portion of the background*/
 
 
float W=6;   //determines width of zeroes
float H=10;   //determines height of zeroes
for (int i=0; i<100; i++)    // I chose to iterate only 100 times so they didn't override the ones in the sketch
{
  drawCircles(random(200,380), random(25,380), W, H);      //creates custom function name for circles
}
void drawCircles(float x, float y, float W, float H)    //instructs computer to create zero shapes 
{
    noFill();
    stroke(252,231,202);
    strokeWeight(2);
    ellipse(x,y, W, H);             //ellipse or zero created using the floats and parameters
}
// END OF DRAWING CIRCLES ~~
 
//-------------------------------------------------------------------
 
// DRAWING OF WAVES ~~
/* This portion of the sketch creates the analogue waves 
   present on the lefthand side of the sketch*/
 
  void draw(){
    P = random(9);    //creates the starting point of each wave  
      H = TWO_PI/20;    //creates the peak of each wave 
       beginShape();    //ensures each wave is a static shape
          for (float L=15; L<200; L=L+4) {    //the control for the L (x-coordinate) value for each line
        P = P +H;  
       line(L, 365, L, 365+sin(P)*20);
       line(L, 280, L, 280+cos(P)*20);
       line(L, 200, L, 200+sin(P)*20);
       line(L, 120, L, 120+cos(P)*20);
       line(L, 35, L, 35+sin(P)*20);
 
}
endShape();
}
 
// END OF SKETCH ~~

For this assessment, I wanted to create a shirt design that celebrated the transition from the analogue world to the digital world. Covering a 400x400 pixel surface, each design is completely unique and utilises random functions to produced varied wavelengths (the analogue portion of the design) on a black and grey background; and coloured pixels, "ones" and "zeroes" or binary section (the digital portion of the design). Thus, this sketch juxtaposes two forms of information, or energy upon the canvas space.

After seeing the assessment guidelines, I was immediately interested in exploring the space of movement and energy. As all energy that is part of the electromagnetic spectrum travels in wavelength form, it was clear that using wavelengths within the sketch would be an effective method to convey energy. Using recursion and random functions, each static image of the sketch would be different, thus showing movement when compared to previous forms of the sketch. These wavelengths were placed upon a monochrome background to further express movement away from an analogue past. Juxtaposed next to the prismatic "pixelated" background of the binary section of the sketch, each shirt design uniquely tells the story of how technology has grown from its analogue roots and moved in to the digital age.

BACKGROUND:

Starting with the background, I knew that a consistent backdrop was key to tying the two portions of the sketch together. Starting with for loops and a consistent distance between each point on the X axis, I was able to ensure a natural movement from the monochrome "past" to the prismatic "future." As I wanted the two portions to show a clear divide between analogue and binary, I used if and else if statements to reduce coding burden. Finally, randomised strokeWeight and stroke colour creates a popping effect to the background, which in turns creates an energy to each piece created.

  • Show Sketch
/** @peep sketchcode */
 
size(400, 400);   //sets the canvas size to 400p x 400p
background(0);    //background set as black
 
 
// BACKGROUND SECTION OF SKETCH ~~~~~
/* This section of the sketch creates the grey and coloured
   backgrounds*/
 
 
for (float A = 15; A < width-10; A = A+5) {   //sets requirement for 1st parameter of sketch (starts at 15, less than 390 and moves in increments of 5
  for (float B = 15; B < height-10; B = B+5) {    //sets requirement for 2nd parameter of sketch (starts at 15, less than 390 and moves in increments of 5
 
    drawBackground(A, B);   //custom function name for background
  }
}
    void drawBackground(float A, float B) {   //instructs computer to run custom function drawBackground
    strokeWeight(random(4));    //strokeweight between 0 and 4
    if (A < width/2) {    //instructs computer to change stroke colour to grey if less than half widith
    stroke(255, 66);
    }
    else if (A > width/2) {   //if greater than half width, computer instructed to randomize colours of points
    stroke(random(255), random(245), random(255));
    }
    point(A, B);
  }

BINARY SECTIONS:

Next, I chose to create the binary portion of the sketch, as I wanted to ensure that the background colours and the "ones" and "zeroes" did not meld into one transfusion of colour. I chose to keep the "ones" relatively uniform to signify to the end user the importance of uniformity of code, however, with the "zeroes" of the binary section, I decided to leave them completely randomised to add more energy to the piece. With each new iteration, the "zeroes" appear to buzz around the sketch thus adding movement.

  • Show Sketch
/** @peep sketchcode */
// DRAWING OF LINES ~~
/* This section of the sketch creates the ones of the ones & zeroes
   visible on the coloured portion of the background*/ 
size(400, 400);
background(0);
 
  for (float X1 = 200; X1 < width-10; X1 = X1 + random(15,25)) {    //defines requirements of vertex x coordinate - starts at 200 and less than 390
  for (float Y1 = 15; Y1 <  height-25; Y1 = Y1 +random(15,25)) {    //defines requirements of vertex y coordinate - starts at 15 and less than 375
 
    drawLines(X1, Y1);    //custom function name of ones portion of sketch
  }
}
 
    void drawLines(float X1, float Y1) {    //instructs the computer to create shapes resembling the number 1
      beginShape(); 
      strokeWeight(2);    //sets requirements - stroke weight, colour and positioning relative to returned float value
      stroke(252,231,202);
      vertex(X1, Y1);
      vertex(X1, Y1+8);
      endShape();   //by using begin/endShape, the computer knows to connect to the vertices creating a shape
    }
 
// END OF DRAWING OF LINES ~~
 
//-------------------------------------------------------------------
 
// DRAWING CIRCLES ~~~~
/* This portion of the sketch creates the zeroes that make up the 2nd half
   of the ones & zeroes overlaying the coloured portion of the background*/
 
 
float W=6;   //determines width of zeroes
float H=10;   //determines height of zeroes
for (int i=0; i<100; i++)    // I chose to iterate only 100 times so they didn't override the ones in the sketch
{
  drawCircles(random(200,380), random(25,380), W, H);      //creates custom function name for circles
}
void drawCircles(float x, float y, float W, float H)    //instructs computer to create zero shapes 
{
    noFill();
    stroke(252,231,202);
    strokeWeight(2);
    ellipse(x,y, W, H);             //ellipse or zero created using the floats and parameters
}
// END OF DRAWING CIRCLES ~~~~

WAVELENGTHS:

The final portion of the sketch involved the creating of the analogue waves. Utilising trigonometry to assist with the curvature of the lines, five line formulas were used to create the moving wavelengths. These line formulas created vertical lines with varying lengths giving the appearance of moving waves. Using TWO_PI determined the height of each wave with sin & cos formulas enabling varied waves.

  • Show Sketch
/** @peep sketchcode */
 
size(400, 400);   //sets the canvas size to 400p x 400p
background(0);    //background set as black
 
      strokeWeight(2);    //sets requirements - stroke weight, colour and positioning relative to returned float value
      stroke(252,231,202);
 
// DRAWING OF WAVES ~~~~
/* This portion of the sketch creates the analogue waves 
   present on the lefthand side of the sketch*/
 
  void draw(){
    P = random(9);    //creates the starting point of each wave  
      H = TWO_PI/20;    //creates the peak of each wave 
       beginShape();    //ensures each wave is a static shape
          for (float L=15; L<400; L=L+4) {    //the control for the L (x-coordinate) value for each line
        P = P +H;  
       line(L, 365, L, 365+sin(P)*20);
       line(L, 280, L, 280+cos(P)*20);
       line(L, 200, L, 200+sin(P)*20);
       line(L, 120, L, 120+cos(P)*20);
       line(L, 35, L, 35+sin(P)*20);
 
}
endShape();
}

INSPIRATIONS:

A significant portion of my sketch was influenced by the Sony VAIO brand that paid homage to Sony's analogue past whilst also incorporating sony's digital (binary) future. The movement across the sketch from wavelengths to binary code mimics this branding strategy of Sony (http://www.sony.net/Fun/design/history/product/1990/vaio.html).

Sony Vaio

The secondary portion of inspiration for my sketch comes from the pixels used to create images visible on interfaces such as TV, mobile, and computer screens. I added this layer to the sketch to symbolise the various combinations of binary code that form colours and thus shapes and finally images.

REFLECTIONS:

Overall, I am quite happy with the end result of my sketch. I believe it conveys movement and energy and adds a unique layer of reflecting upon changes in technology and the way information was and is conveyed. If I was to revist this sketch idea in the future, I would look to fade between the two portions as I believe the divide in the middle of the sketch detracts from the piece. It creates such a stark divide between the analogue and digital worlds that it makes the message a little unclear. Further, I would definitely look to create pockets of information of the binary code to signify that information previously conveyed in analogue wavelengths are now conveyed in collections of ones and zeroes. This random assorted of the lines and ellipses in this sketch is another detractor from the intention of conveying binary code.

Comments

Nobody has said anything yet.