Little Portrait

So, first of all, I am obsessed with processing. Second, here is my portrait for the class. I was interested in capitalizing on something distinct about my portrait. I decided to focus on my glasses and vest. I ended up mapping my mouse movement to a range of colours on my glasses, and then a series of colours in the background upon a mouse click. I’m excited to see what else I can do with this platform.

int r, g, b, vestColor, vestColor2;
int br, bg, bb;
int[] backgroundColor ={ color(237,234,212), color(65,175,175), color(107,79,138)};
int whichBG = 0;

  void setup () {

  size (600, 600);

  r = color (215);
  g = color (245);
  b = color (255);

  br = 237;
  bg = 234;
  bb = 212;




  vestColor = color (100);
  vestColor2 = color (65);
}

void draw() {
    background (backgroundColor[whichBG]);
//you need to reference the backgroundColor, because it is an array. so Always put in brackets for which value you are calling.
//generally you call color 1 by saying backgroud (backGroundColor[0]). but this time we want to call the color based on the click
//this is why we place the modulus in mousePressed, so that everytime you click, the modulus adds one. And when referenced by the array, is calls the right number.


  //   NECK
  strokeWeight (0);
  fill (163, 117, 67);
  rect (280, 300, 20, 150);

  fill (137, 99, 61);
  rect (300, 300, 20, 150);

  //   HEAD
  //   pt. 1
  strokeWeight (0);
  fill (188, 133, 63);
  rect (200, 160, 100, 170);
  triangle(200, 330, 300, 370, 300, 330);
  //   pt. 2
  fill (163, 117, 67);
  rect (300, 160, 100, 170);
  triangle(400, 330, 300, 370, 300, 330);

  //   EARS
  strokeWeight (0);
  fill (163, 117, 67);
  rect (190, 260, 10, 33);
  fill (137, 99, 61);
  rect (400, 260, 10, 33);

  // EARINGS
  strokeWeight (0);
  fill (80);
  rect (189, 280, 5, 10);
  rect (189, 270, 5, 7);
  fill (0);
  rect (406, 280, 5, 10);
  rect (406, 270, 5, 7);


  //   GLASSES

  //Scale the mouse Y value from 0 to 600 to a range between 215 and 105 
  //If the mouse moves down, the color changes
  float cRed = map(mouseY, 0, width, 215, 105);
  float cRed2L = map(mouseX, 0, width, 245, 100);
  float cRed2R = map(mouseX, 0, width, 100, 245);


  fill (cRed, cRed2L, 255);
  stroke (10);
  strokeWeight (10);
  ellipse (250, 250, 80, 80);

  fill (cRed, cRed2R, 255);
  ellipse (350, 250, 80, 80);
  stroke (10);
  line (310, 250, 290, 250);

  //   HAIR
  //   top
  strokeWeight (0);
  fill (0);
  beginShape ();
  vertex (200, 180);
  vertex (200, 130);
  vertex (320, 100);
  vertex (400, 100);
  vertex (400, 160);
  vertex (400, 180);
  vertex (380, 160);
  vertex (220, 160);
  endShape (CLOSE);
  //   sides
  rect (190, 130, 10, 130);
  rect (400, 100, 10, 160);

  //   SHIRT
  //   side I
  noStroke();
  fill (255);
  beginShape ();
  vertex (280, 400);
  vertex (300, 420);
  vertex (300, 520);
  vertex (190, 520);
  vertex (190, 420);
  endShape (CLOSE);
  //   side II
  fill (220);
  beginShape ();
  vertex (320, 400);
  vertex (300, 420);
  vertex (300, 520);
  vertex (410, 520);
  vertex (410, 420);
  endShape (CLOSE);



  //   VEST
  fill (vestColor);
  beginShape ();
  vertex (270, 397);
  vertex (270, 520);
  vertex (200, 520);
  vertex (200, 410);
  endShape (CLOSE);

  fill (vestColor2);
  beginShape ();
  vertex (330, 397);
  vertex (330, 520);
  vertex (400, 520);
  vertex (400, 410);
  endShape (CLOSE);

  if (mousePressed) {
    vestColor = 50;
    vestColor2 =0;
  } else {
    vestColor=100; 
    vestColor2=65;
  }


  //   BEARD
  //   partI
  fill (30, 200);
  beginShape ();
  vertex (200, 300);
  vertex (250, 340);
  vertex (300, 340);
  vertex (300, 370);
  vertex (200, 330);
  endShape (CLOSE);
  //   part II
  fill (0, 200);
  beginShape ();
  vertex (300, 340);
  vertex (300, 370);
  vertex (400, 330);
  vertex (400, 300);
  vertex (350, 340);
  endShape (CLOSE);

  //   mustache
  fill (30, 200);
  rect (270, 310, 30, 10);
  // rect (270, 315, 10, 10)
  fill (0, 200);
  rect (300, 310, 30, 10);
  // rect (320, 315, 10, 10)

}


void mousePressed () {

   whichBG = (whichBG + 1) % 3;
  
  
}

 

As someone who is very expressive about their emotional state, I found today’s article a valuable framework for how to process my flurry of feelings. In the context of interactivity and user interfaces, Visceral, Behavioral, and Reflective states of mind are useful concepts in directing an experience between a product and human. How do we ensure that an individual is aware of the functions of any given thing, and is in the right state of mind to use it? How can we change the way someone uses it depending on their state of mind?

Norman describes this in the context of a nuclear plant, describing the larger environmental design. When reflective processes are necessary for a sensitive area, humans require particular environments. If that area becomes the location of a high stakes situation, we must create just the right amount of stress to promote focus.

My only issue, one that Norman acknowledges, is diversity. What is stressful for one person is not for another, and vice versa. Along these lines, I pose the same question as before: How do we ensure that an individual is aware of the functions of any given thing, and is in the right state of mind to use it? But also, how do we account for this diversity. Diversity in ability, in psychological and linguistic associations, etc. My short answer is context and asking: Who uses what in what context? Or the more sinister and marginalizing question: Who do we want to use what in the contexts we choose? This question has most likely been asked in many political and institutional contexts and has come to deeply affect how we use our world, and how we view people and things that are undesirable. Doors on this campus are but one example, while the racially and ethnic segregation of the larger metropolitan area of Abu Dhabi is another.

Designers have the power to do good and include, but also marginalize. I only hope to do the former over the latter.

 

 

 

 

Self-Portrait Using Processing

For this project, we were asked to create a self-portrait using processing. I drew an image of myself using primitive shapes, which was difficult at first but it became fun as soon as I became more familiar with shape coordinates. I wanted to create something that’s simple yet also visually appealing. To add an extra element to my self-portrait, I created an array of three images for my background, where I had three different “shades” of one image so that the background changes every time you click the mouse. This is what it looks like: 

And here’s my code:

  //my self-portrait 

float PImage;
PImage im ;                        
PImage [] backgrounds = new PImage[3]; // background array of 3 images
int currentBgNumber = 0;

void setup()
  {
     
     size(852, 480);

   backgrounds = new PImage[3];
    backgrounds[0] = loadImage("1.jpg"); 
    backgrounds[1] = loadImage("2.jpg");
    backgrounds[2] = loadImage("4.jpg");

   }
  
  void draw() 
  {
    
    background(backgrounds[currentBgNumber]);
    
    //hair
    stroke(0);
    fill(0);
    rect(100, 50, 400, 100);
    rect(100, 150, 400, 100);
    rect(100, 200, 400, 100);
    rect(100, 300, 400, 100);
   rect(100, 350, 400, 200);
  
    fill(247, 166, 79);
  
    //neck and body
    
    strokeWeight(4);
    stroke(15, 139, 141);
    fill(224,172,105);
    rect(235, 350, 75, 100);

    fill(224,172,105);
    rect(100, 405, 350, 375, 45);
    
    //shirt
    fill(250);
    rect (140, 405, 260, 200); 
    strokeWeight(4);
    //line (140, 450, 397, 450);
    //line (140, 470, 397, 470);
    //line (140, 490, 397, 490);
    
    //ears
    fill(224,172,105);
    stroke(63, 124, 172);
    ellipse(100, 200, 60, 100);
    ellipse(440, 200, 60, 100);
    
    //earrings
    strokeWeight(1);
    fill(250);
    ellipse(90, 235, 5, 5);
    fill(220,220,220);
    rect(103, 236, 2, 30);
    ellipse(450, 235, 5, 5);
    rect(440, 236, 2, 30);
    strokeWeight(3);
    
    //head
    stroke( 166, 128, 140);
    ellipseMode(CENTER);
    fill(224,172,105);
    ellipse(270, 200, 300, 350);
    fill(0);
    strokeWeight(4);
   
    //bangs 
    stroke(0);
    fill(0); 
    ellipse(300, 35, 420, 100);
    rect(97, 25, 400, 100);
    ellipse(100, 100, 30, 150);
  
  
    //eyebrows 
    stroke(97, 63, 117);
    rect(305, 160, 90, 10);
    rect(145, 160, 90, 10);
  
 
    //eyes 
    stroke(250);
    strokeWeight(3);
    fill(250, 218, 221);
    fill(250);
    line(155,198, 225, 198);
    arc(190, 200, 70, 60, 0, PI);
    line(315,198, 385, 198);
    arc(350, 200, 70, 60, 0, PI);
    //pupils
    fill(84, 42, 14);
    arc(190, 202, 40, 50, 0, PI);
    arc(350, 202, 40, 50, 0, PI);
    //lines
    strokeWeight(0.5);
    stroke(84, 42, 14);
    line(180, 240, 190, 240);
    line(350, 240, 360, 240);
 
   //nose
    stroke(0);
    strokeWeight(2);
    line (275, 230, 260, 260);
    line (260, 260, 275, 260);
      
    //mouth
    
    ellipseMode(CENTER); 
    strokeWeight(7);
    stroke(219,112,147);
    fill(250, 218, 221);
    arc(270, 305, 70, 60, 0, PI);
    }
    
void mousePressed(){
  currentBgNumber++;
  if (currentBgNumber>=3)
    currentBgNumber=0;
}

 

 

Beach at Day or Night – Self-Portrait Processing

Hi! So for this project, I decided to make a portrait of myself at a beach. I made the background first as part of the setup so I can change the value later on. It is sky blue at the start, along with the sun being yellow and the cloud being white. Then I have the sand and the sea, while my figure is at the front.

The main feature of my project I would say is the ability to switch to “Night Mode”, in which when I press a button everything becomes darker and when I click on the screen everything becomes daytime again. Below is an example of me toying around with my project.

https://youtu.be/7TLhmqCURAA

I do not know why but the embedded feature does not work for this link.

Also below is the code for my project.

color rectColor = color(255);
color circleColor = color(255);
color a = color(255);
color b = color(249,215,28);

int count = 1;
void setup(){
  size(500,1000);
  background(135,206,235);
}

void draw(){
  
   //sky blue
  
  
  fill(194,178,128); // sand
  
  beginShape();
  vertex(0,400);
  vertex(0,1000);
  vertex(500,1000);
  endShape(CLOSE);
  
  fill(0,119,190);
  beginShape();
  vertex(0,300);
  vertex(0,400);
  vertex(500,1000);
  vertex(600,1000);
  vertex(600,300);
  endShape(CLOSE);
  
  fill(b);
  ellipse(400,50,60,60); //sun
  
  fill(240,184,160); //skin color
  ellipse(250,350,300,300); //face
  rect(100,500,300,500); //body
  
  pushMatrix();
 
  translate(99,0);
  rotate(radians(10)); //left arm
  rect(50,550,50,500);

  
  
  rotate(radians(335.3)); //right arm
  rect(150,620,50,400);
  
  popMatrix();
  
  fill(255);
  ellipse(200,300,45,30); //left eye
  ellipse(300,300,45,30); //right eye
  
  fill(0);
  ellipse(200,300,20,20); //left pupil
  ellipse(300,300,20,20); //right pupil
  
  fill(255,0,0);
  arc(250,400,120,80,0,3.14); //mouth
  line(190,400,310,400);  //line
  
  fill(0); //hair
  beginShape();
  vertex(110,280);
  vertex(180,205);
  vertex(300,190);
  vertex(370,235);
  endShape(CLOSE);
  
  fill(101,67,33);
  ellipse(180,600,10,10); //left nip
  ellipse(320,600,10,10); //right nip
  
  fill(50,80,120);
  rect(100,900,300,200); // pants
  
  fill(a);
  arc(100,70,100,100,PI,TWO_PI); //for the clouds
  arc(135,70,100,100,0,PI);
  fill(0);
  line(50,70,85,70);
  line(150,70,185,70);
  

}

void keyPressed(){
  background(43,47,119);
  a = color(190,169,222);
  b = color(244,241,201);
}

void mouseClicked(){
  background(135,206,235);
  a = color(255);
  b = color(249,215,28);
}

 

Responses to Readings

HER CODE GOT HUMANS ON THE MOON—AND INVENTED SOFTWARE ITSELF

For a woman who created influential change in a STEM field during the 1960s, Hamilton is surely an outlier as well as a role model to women and girls who wish to follow similar paths. What blew my mind during the Apollo mission procedure was the meticulous behavior of Hamilton. While others hastily moved on with the main project, Hamilton went step-by-step and made sure everything was in order, including the P01 note. Moreover, having extra responsibilities while being a mother meant work would be more tedious towards someone like Hamilton, but because she enjoyed what she did she was able to endure the hardships that came along with it.

Ultimately, Hamilton’s example is great since it paves a new way of thinking about women in STEM fields. And because of great women like Hamilton, Marie Curie, Rosalind Franklin, etc. we now live in a society where women are encouraged to follow their dreams of being a scientist or an engineer and are given the environment to do so. Let us hope that in the future theses environments can be created for girls in third world countries as well.

I do agree that aesthetics can correlate to better results, yet I also want to add on to the emotion part, while providing my own argument. When we look at a device that is aesthetically pleasing, we are suddenly filled with a positive emotion since “something” had exceeded our expectations. Because the object has given us happiness, we reciprocate and think highly of our counterpart. This, however, can also be dangerous since it may cause us to overrate the object, thus giving it a better judgement than its actual perceived functionality. Even though the positive feeling may “arouse curiosity, engages creativity, and makes the brain into an effective learning organism”, I believe that even in real life situation we trust ourselves too much that we think better of what something actually is. For instance, if I go to a sushi restaurant that has normal sushi but has the highest quality of service, I would probably still say it is a great restaurant. This packages my statement but the people who listens to my rumors may also believe that the food is good as well. If you are interested in more of these examples, people from VICE have been making fake restaurants and models to reach the highest points just by spreading “positive” rumors. When we hear something positive, I believe that at the end of the day we need to question ourselves once more if we are judging a certain object by its functionality or its objective features rather than our subjective emotions.

Response: Her Code Got Humans on the Moon

This article was more inspiring than it was able to provide me directly with knowledge about interactive media. I truly enjoyed reading this, and it made me think about the complexity of this field. I previously would not be able to credit applications like Google Chrome, Spotify or Processing to the work of someone who developed software necessary for the Apollo space missions.

Although Hamilton’s work is more in the realm of computer science and mathematics rather than something in Interactive Media, seeing that the tools we use in the classes today stem from these discoveries in somewhat different fields, made me realize how dependent I am on interdisciplinary knowledge if I am to immerse myself in this field.

Furthermore, this article demonstrated the complexity of the field by showing how daunting it can be to develop these kinds of tools. Ideally, Hamilton and her fellow scientists would have decades to develop the perfect program, with all potential bugs and errors detected and solved, but sometimes this is simply impossible due to time constraints. I will definitely keep in mind the importance of prioritizing what needs to be done so that I might work more efficiently in all my projects.

Blog Post: Attractive Things Work Better

I found this reading extremely interesting, especially in its discussion of design and its effects on human decision-making and creativity. The part that I found most thought-provoking was Norman’s discussion of Elvish from The Lord of the Rings and the broader discussion of how language is designed to have words evoke certain emotions in the speaker/listener. Previously I have always thought of sounds as arbitrarily assigned, but the more I think about it Norman makes a great point about these sound associations being intuitive and natural to humans. I find it very fascinating how different colors, sounds, textures, etc. all evoke different feelings and thus impact our ability to use a product. Relating all of this to interactive design and design in general, I find myself thinking: how can I make the projects I make in this class enjoyable, usable and efficient for my users?