rkondrup-project-02

face.js

/*Ryu Kondrup
rkondrup@andrew.cmu.edu
Section D
project-02*/
//feature variables

var eyeHeight = 30;
var eyeWidth = 15;
var noseyLiars = 50;
var mouthAgape = 30;
var hatHeight = 120;
var rightShadow = 15;
var downShadow = 10;
var mouthWidth = 30;
var r, g, b;

function setup() {
    createCanvas(640, 480);
    r = random(150, 255);
    g = random(150, 255);
    b = random(150, 255);
  }

function draw() {
  background(26, 83, 92);
  //colors
    var darkDarkBlue = color(22, 74, 82);
    var darkBlue = color(26, 83, 92);
    var blue = color(78, 205, 196);
    var white = color(248, 255, 247);
    var red = color(255, 107, 107);
    var yellow = color(255, 231, 109);



noStroke();


//shirt SHADOW
fill(darkDarkBlue);
rectMode(CENTER);
rect(150+rightShadow, 390+downShadow, 150, 200, 75);

//collar SHADOW
fill(darkDarkBlue);
ellipse(150+rightShadow, 320+downShadow, 160, 50);

//hat top SHADOW
fill(darkDarkBlue);
rectMode(CENTER);
rect(150+rightShadow, 145+downShadow, 120, hatHeight, 60);

//brim of hat SHADOW
fill(darkDarkBlue);
rectMode(CENTER);
rect(150+rightShadow, 190+downShadow, 150, 30, 15);

//head SHADOW
fill(darkDarkBlue);
ellipse(150+rightShadow, 250+downShadow, 150, 150);

//hat wrap SHADOW
fill(darkDarkBlue);
rect(150+rightShadow, 160+downShadow, 120, 30);

//noooose SHADOW
fill(darkDarkBlue);
rectMode(CORNER);
rect(190+rightShadow, 230+downShadow, noseyLiars, 30, 15);



//shirt
fill(yellow);
rectMode(CENTER);
rect(150, 390, 150, 200, 75);

//collar
fill(white);
ellipse(150, 320, 160, 50);

//hat top
fill(yellow);
rectMode(CENTER);
rect(150, 145, 120, hatHeight, 60);

//head
fill(blue);
ellipse(150, 250, 150, 150);

//eyeball
fill(white);
ellipse(140, 240, eyeWidth, eyeHeight);

//brim of hat
fill(yellow);
rectMode(CENTER);
rect(150, 190, 150, 30, 15);

//hat wrap
fill(blue);
rect(150, 160, 120, 30);

//bow CENTER
fill(blue);
ellipse(160, 355, 40);
//bow right
ellipse(195, 355, 40, 60);
//bow right
ellipse(125, 355, 40, 60);

//mouth
fill(red);
rectMode(CORNER);
rect(170, 270, 30, mouthAgape, 15);

//noooose
fill(r, g, b);
rectMode(CORNER);
rect(190, 230, noseyLiars, 30, 15);





}

function mousePressed() {
    eyeHeight = random(30, 70);
    eyeWidth = random(15, 30);
    noseyLiars = random(50, 500);
    mouthAgape = random(30,90);
    hatHeight = random(120, 300);
    r = random(200, 255);
    g = random(100, 255);
    b = random(100, 255);

}

Creating this interactive image was lots of fun.  I wanted to have a concept that made sense with the aim of the assignment, so I settled on a wooden boy as a subject. I also wanted to explore how facial expressions change with different sized facial features. I would like to further explore how features can be changed in ways other than through clicking that can add more depth and complexity to the image.

rkondrup-Looking Outwards-02

Alex Dragulescu developed a program which analyzes the content of spam emails and translates the variety of text patterns and keywords into three-dimensional architectural models which appear to have ‘grown’ from the base form of a cube. I particularly admire this project because it uses spam, something which is generally perceived as bothersome digital flotsam, and translates its contents into a work of digital art. The idea that words which are worthless in one form can produce very interesting meanings when passed through a particular algorithm is very exciting, and I feel that this project, as well as the columns made by the algorithms of Michael Hansmeyer, are both great examples of the potentialities that coding provides in the search for new spatial configurations. This sort of process of making something valuable from what many would consider digital ‘noise’ is a concept i would like to further explore, and I am also very intrigued by the idea that a known algorithm can produce unanticipated results which seem to mimic creativity. I think that the creative possibilities of this sort of programming is very promising and that it could change the way that designers work in the future.

rkondrup-Looking Outwards-01

Tore Knudsen and Justin Daneman have developed
a system to help people to better understand RGB color theory. This system consists of three cylinders, representing red, green, and blue. Water is then added or subtracted from these cylinders, which is detected by built-in sensors and translated by software into RGB color intensities imposed on a projected image.

I find this project to be a very effective medium for communicating the abstract idea of RGB color in a manner which is more tangible and intuitive than is generally the case on a computer screen. This sort of analog representation of a generally digital concept is very helpful in understanding the relationships among the three primary colors of light. Certainly a person would have a much easier time learning RGB colors using this system than is possible changing three number values on a screen and having to wait to see the color output. I am curious to see what other types of learning systems can be developed which can aid in helping people to better understand abstract concepts in a fashion similar to this.

rkondrup-project01-face

rkondrup-portrait

/*Ryu Kondrup
Section D
rkondrup@andrew.cmu.edu
project-01*/


function setup() {
  var magenta = color(128, 33, 73);
    createCanvas(600, 600);
    background(magenta);
}

function draw() {

	var yellow = color(218, 222, 107);
  var lightYellow = color(240, 245, 139);
  var darkyellow = color(180, 184, 74)
	var skintone = color(230, 181, 172);
  var shadow = color(186, 134, 125);
  var white = color(255, 255, 255);
  var bgShadow = color(114, 23, 60);

  //shadow cloud big
  fill(bgShadow);
  noStroke();
  ellipse(115, 120, 80);

  //shadow cloud medium
  fill(bgShadow);
  noStroke();
  ellipse(175, 130, 60);

  //shadow cloud long
  fill(bgShadow);
  noStroke();
  rect(45, 130, 200, 40, 20);

  //shadow cloud big 2
  fill(bgShadow);
  noStroke();
  ellipse(215, 220, 80);

  //shadow cloud medium 2
  fill(bgShadow);
  noStroke();
  ellipse(275, 230, 60);

  //shadow cloud long 2
  fill(bgShadow);
  noStroke();
  rect(45, 230, 300, 40, 20);

    //cloud big
    fill(white);
    noStroke();
    ellipse(100, 100, 80);

    //cloud medium
    fill(white);
    noStroke();
    ellipse(160, 110, 60);

    //cloud long
    fill(white);
    noStroke();
    rect(30, 110, 200, 40, 20);

    //cloud big 2
    fill(white);
    noStroke();
    ellipse(200, 200, 80);

    //cloud medium 2
    fill(white);
    noStroke();
    ellipse(260, 210, 60);

    //cloud long 2
    fill(white);
    noStroke();
    rect(30, 210, 300, 40, 20);

    //hat top shadow
    fill(bgShadow);
    noStroke();
    rect(327, 40, 200, 600, 15);

    //hat brim shadow
    fill(bgShadow);
    noStroke();
    rect(125, 390, 550, 30, 15);

    //nose rectangle
    fill(bgShadow);
    noStroke();
    rect(285, 500, 45, 45);

    //hat top
    fill(yellow);
    noStroke();
    rect(312, 20, 200, 380, 15);

    //hat dark
    fill(darkyellow);
    noStroke();
    rect(312, 300, 200, 80);

    //hat shine
    fill(lightYellow);
    noStroke();
    rect(312, 20, 30, 380, 15);

    //hat ribbon shine
    fill(yellow);
    noStroke();
    rect(312, 300, 30, 80);

    //hat brim
    fill(yellow);
    noStroke();
    rect(110, 370, 550, 30, 15);

    //hat brim shine
    fill(lightYellow);
    noStroke();
    rect(110, 370, 100, 30, 15);

    //shadow under hat
    fill(shadow);
    noStroke();
    rect(312, 400, 200, 35);

    //head
    fill(skintone);
    noStroke();
    rect(312, 435, 200, 165);

    //nose curve
    fill(skintone);
    noStroke();
    ellipse(315, 480, 90, 90);

    //nose rectangle
    fill(skintone);
    noStroke();
    rect(270, 480, 45, 45);

    //small eye
    fill(white);
    noStroke();
    ellipse(325, 445, 40, 40);

    //large eye
    fill(white);
    noStroke();
    ellipse(440, 460, 70, 70);

    //mouth
    fill(shadow);
    noStroke();
    rect(312, 525, 40, 25);

    //mouth round
    fill(shadow);
    noStroke();
    rect(312, 525, 50, 25, 10);

  }

This is a very simple drawing of myself wearing my signature yellow hat, by which all my friends can recognize me.

I stuck mainly to a style composed of rounded rectangles and circles.