SEckert-Project-02-Variable Face

seckert-project-02

var hairWidth = (400);
var hairHeight = (420);
var hairColor = ('#A62BFF');
var eyeColor = ('#000000');
var eyeSize = (10);
var mouthSize = (10);
var eyebrowHeight = 50;
var backgroundColor = 255;


function setup() {
    createCanvas(480, 640);
}

function draw() {

	background(backgroundColor);
  noStroke();
//hair
  fill(hairColor);
    ellipse ((width/2), (height/2), hairWidth, hairHeight);
//face
  fill('#F0DEFF');
    ellipse((width/2), (height/2), 250, 250);
//hair bangs
  fill(hairColor);
    ellipse ((width/2), ((height/2)-125), 150, 100);
//eyes
  fill(eyeColor);
    ellipse (((width/2)-50), ((height/2)-40), eyeSize, eyeSize);
    ellipse (((width/2)+50), ((height/2)-40), eyeSize, eyeSize);
//eyebrows
  fill (hairColor);
    rect (((width/2)-65), ((height/2)-eyebrowHeight), 30, 5);
    rect (((width/2)+(35)), ((height/2)-eyebrowHeight), 30, 5);
//mouth
  fill ('#000000');
    ellipse ((width/2), ((height/2)+30), mouthSize, mouthSize);
//nose
  fill ('#EBBAFF');
    ellipse ((width/2), (height/2), 30, 10);

  //noLoop()
}

function mousePressed() {
    hairWidth = random(400, 600);
    hairHeight = random(420, 620);
    hairColor = random(255);
    eyeColor = random(255);
    eyeSize = random(10, 30);
    mouthSize = random(10, 50);
    eyebrowHeight = random(50, 70);
    backgroundColor = random(0-255);
}

This project made me very aware of how little I remembered about programing in colors, particularly randomizing them. I’m sure that with more tinkering I could have added a lot more variety but I am happy with it as is.

SEckert-LookingOutwards-02

Imposters is a short play by Mark Chrisler about pioneering computer scientist and codebreaker, Alan Turing. Turing helped develop the first computers and an empirical test (the Turing Test) for artificial intelligence and other minds. He was also a homosexual and was imprisoned, interrogated, and chemically castrated by his government. He later committed suicide.

The play which consists of a strange, tense, and uncanny interrogation was written utilizing two chatterboxes ( simple conversation robots from the 1970s) to create the dialogue. The play itself is repetitive and the dialogue is often rudimentary with frequent non-sequiturs, but also can be eerily meaningful, even ominous.

Having seen the play live it is a strange event to fully describe. You begin to lose any sense of identity in either character, there’s also a feeling of growing unease throughout, even when the dialogue repeats and shifts in humorous ways. My understanding of the chatterboxes is that, similar to AIM chat bots, they were programs to understand a limited amount of inputs and have prepared responses to simulate conversation. One of the machines was programed to always reply with a question when it didn’t recognize an input, the other was programed to shift the conversation to a topic to which it could respond.

Stephen M. Eckert – Looking Outwards – 1

STEVE OF TOMORROW

Lisa Clair and David Commander operating two of the digital puppets.

Steve of Tomorrow is a digital puppetry and toy theatre performance piece created by David Commander and Rob Ramirez also featuring performances by Lisa Clair and video animation by Janelle Miau.
Using cutting edge video puppetry and David Commander’s signature style of live camera toy Theater, Steve of Tomorrow asks if humanity’s well-being is reflected in the recent explosion of technological advancements. Defying the idealistic promise of the future portrayed in science fiction the piece asks if humanity is instead moving towards a future even more apathetic and vapid than today; if capitalism and technology will one day give us exactly what we want and that we’ll find it just as unfulfilling.
My understanding of the tech is that it utilizes the existing software Max MSP.
The creators were heavily inspired by the designs of social media, particularly the limited emotional range that websites like Facebook and Twitter offer.

SEckert-Project-01-face

My process involved a great deal of trial and error, as I’m sure is true for most of the class. I found utilizing arcs to be very tricky, and my attempts at curves complete failures. Even with this post elements that showed up in my browser (such as the eyes) have disappeared and a handful of the features (the mouth and eyebrows) have been become yellow instead of black.
Still, it’s uncanny.

SEckert-face

//Stephen M. Eckert
//Section C
//SEckert@andrew.cmu.edu
//Project 01 Face


function setup() {
    createCanvas(400, 400);
}

function draw() {
	background('grey');
  noStroke()
    fill ('black')
      rect (20, (height-100), 360, 150, 50) //body
    fill (255, 234, 196);
      arc (((width/2)-90), ((height/2)-50), 70, 70, 0, PI+PI/2, OPEN); //ears
      arc (((width/2)+90), ((height/2)-50), 70, 70, 80, PI, OPEN);
    fill (255, 211, 164);
      arc (((width/2)-85), ((height/2)-50), 65, 65, 0, PI+PI/2, OPEN); //ears shade
      arc (((width/2)+85), ((height/2)-50), 65, 65, 80, PI, OPEN);
    fill (255, 234, 196);
      ellipse ((width/2), ((height/2)-30), 220, 270); //chin
    fill ('black');
      ellipse (((width/2)-50), ((height/2)-50), 20, 20); //eyes
      ellipse (((width/2)+50), ((height/2)-50), 20, 20);
    fill (255, 211, 164);
      triangle (((width/2)-15), ((height/2)+10), (width/2), ((height/2)-30), ((width/2)+15), ((height/2)+10)); //nose
      ellipse ((width/2), ((height/2)+80), 40, 20);
    fill (255, 214, 68);
      rect (((width/2)-30), ((height/2)+15), 60, 20, 20, 20, 0, 0); //mustache
    stroke(4);
      ellipseMode (CENTER);  // poofy hair
      ellipse ((width/2+25), ((height/2)-145), 60, 60);
      ellipse ((width/2+30), ((height/2)-160), 80, 80);
      ellipse (((width/2)-20), ((height/2)-150), 70, 70);
      ellipse ((width/2), ((height/2)-170), 60, 60);
      ellipse ((width/2+20), ((height/2)-130), 40, 40);
      ellipse ((width/2-30), ((height/2)-165), 40, 40);
    fill ('black');
      rect (((width/2)-10), ((height/2)+40), 20, 5, 20); //mouth
      rect (((width/2)-65), ((height/2)-70), 30, 5) //eyebrows
      rect (((width/2)+35), ((height/2)-85), 30, 5)



      noLoop()
}