YouieCho-Project-02-Variable-Face

sketch

/*Youie Cho
  Section E
  minyounc@andrew.cmu.edu
  Project-02-Variable-Face*/

var eyeSize = 15;
var faceWidth = 200;
var faceHeight = 150;
var cloudW = 40;
var cloudH = 60;
var cloudWs = 30;
var cloudHs = 40;
//eye color
var r = 100;
var g = 100;
var b = 100;
//background color
var rB = 73;
var gB = 129;
var bB = 242;


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

function draw() {
    background(250, 140, 155);
    fill(rB, gB, bB);
    rect(30, 25, 570, 380);

    //body
    noStroke();
    fill(224, 194, 121);
    beginShape();
    curveVertex(100, 600);
    curveVertex(180, 600);
    curveVertex(220, 360);
    curveVertex(400, 330);
    curveVertex(480, 600);
    curveVertex(400, 600);
    endShape();

    //ears
    fill(224, 194, 121);
    ellipse(260, 200, faceWidth / 4 - 10, faceHeight / 2);
    ellipse(380, 200, faceWidth / 4 + 10, faceHeight / 2 + 10);

    //face
    fill(242, 216, 155);
    ellipse(width / 2, 270, faceWidth,  faceHeight);
    var eyeLX = width / 2 - faceWidth * 0.3;
    var eyeRX = width / 2 + faceWidth * 0.3;

    //eye
    fill(r, g, b);
    ellipse(eyeLX, height / 2, eyeSize, eyeSize);
    ellipse(eyeRX, height / 2, eyeSize, eyeSize);
    noFill();

    //nose
    fill(171, 129, 26);
    triangle(285, 260, 315, 260, 300, 283);

    //mouth
    noFill();
    strokeWeight(3);
    stroke(84, 50, 9);
    bezier(280, 283, 285, 287, 290, 287, 300, 283);
    bezier(300, 283, 310, 287, 315, 287, 320, 283);

    //cloud
    fill(225)
    noStroke();
    ellipse(160, 100, cloudWs, cloudHs);
    ellipse(180, 100, cloudW, cloudH);
    ellipse(200, 100, cloudW, cloudH);
    ellipse(220, 100, cloudW, cloudH);
    ellipse(240, 100, cloudWs, cloudHs);

    //cheeks
    fill(255, 189, 158);
    ellipse(235, 273, faceWidth / 5, faceHeight / 6);
    ellipse(380, 273, faceWidth / 4, faceHeight / 6);

}

function mousePressed() {
    faceWidth = random(180, 220);
    faceHeight = random(150, 200);
    eyeSize = random(10, 20);
    cloudW = random(40, 50);
    cloudH = random(50, 70);
    cloudWs = random(20, 40);
    cloudHs = random(30, 40);
    r = random(26, 99);
    g = random(34, 102);
    b = random(4, 201);
    rB = random(73, 209);
    gB = random(129, 224);
    bB = random(242, 255);
}

It was fun to try changing colors and shapes, and I think it was especially meaningful to learn to make these changes within various relationships. It also made me make a connection to the generative art I looked at Looking Outwards.

YouieCho-LookingOutwards-02

Manfred Mohr’s Algorithmic Modulations, 2019

I looked at the work “Algorithmic Modulations,” 2019, by Manfred Mohr. He is a first generation artist of generative art, and his earliest works date back to the 1960s. For me, this work is inspiring primarily because it involves skills that I personally cannot work with well, but would like to explore. Using computer to generate art that is constantly responding to changing variables inspires me.The algorithm includes diagonal paths that go through a 12-D hypercube and are placed in different angular positions, which are rotated in 12-D and projected into 2-D. Transparent color bands and black lines are created according to the paths, and the algorithm randomly changes colors and overlays as well. There are also music-related horizontal lines. I think it was very sensible of the artist to create a very complex algorithm in which many variables affect each other, as opposed to having simpler relationships. This makes the work very unique and dynamic.

A moment from Manfred Mohr’s Algorithmic Modulations , 2019

YouieCho-LookingOutwards-01

Intel’s drone show in Pyeongchang, South Korea, illustrating the Olympic Rings

Drone shows at the Opening and Closing Ceremonies of Olympic Winter Games Pyeong Chang 2018 featured various images, including the Olympic rings and the mascot of the Olympic. The Intel drone light show team provided drone technology called “swarm,” which is controlling numerous drones at once. Their show with 1218 drones broke the Guiness World Record for flying the most drones simultaneously.

What inspires me is how innovative this was. It became the highlight of the Opening, especially, because it was something that had never been done, and that people couldn’t expect. I think this project was very successful and groundbreaking. The next step may be to develop this technology so that it can be used also in smaller scale events, perhaps at a smaller cost.

In the 2018 Superbowl, Lady Gaga also had drones in her performance also with Intel’s Shooting Star platform. Foot-long, eight ounce, plastic and foam quadcopters were flying in sync along the prescribed path. This much larger, unique drone show has grabbed the attention of the world, and will also encourage more varied and in-depth studies of drone technology.

Video by Intel

YouieCho-Project-01-Face

sketch

//Youie Cho minyounc Section E
function setup() {
    createCanvas(600, 600);
    background(255, 149, 0);
    //hair
    fill(0);
    bezier(120, 250, 116, 150, 150, 100, 218, 90);
    bezier(218, 90, 250, 20, 465, 30, 480, 250);
    rect(120, 250, 360, 300);
    triangle(120, 250, 218, 90, 480, 250);
    //neck
    noStroke();
    fill(245, 214, 179);
    rect(220, 300, 160, 300);
    //ears
    ellipse(170, 275, 40, 80);
    ellipse(430, 275, 40, 80);
    //face
    fill(255, 231, 204);
    bezier(165, 220, 170, 500, 430, 500, 435, 220);
    bezier(165, 220, 180, 35, 400, 120, 435, 220);
    //nose
    fill(245, 214, 179);
    quad(290, 230, 310, 230, 330, 300, 275, 300);
    bezier(275, 300, 290, 315, 315, 315, 330, 300);
    //under eyes and white
    fill(255);
    bezier(205, 240, 218, 250, 250, 250, 260, 240);
    bezier(340, 240, 350, 250, 382, 250, 395, 240);
    stroke(0);
    strokeWeight(2);
    fill(255);
    bezier(202, 240, 218, 220, 250, 220, 260, 240);
    bezier(340, 240, 350, 220, 382, 220, 397, 240);
    //pupils
    fill(20, 27, 8);
    noStroke();
    ellipse(235, 235, 23, 22);
    ellipse(365, 235, 23, 22);
    //eyes
    stroke(0);
    strokeWeight(2);
    noFill();
    bezier(202, 240, 218, 220, 250, 220, 260, 240);
    bezier(340, 240, 350, 220, 382, 220, 397, 240);
    //eyebrows
    noStroke();
    fill(71, 39, 32);
    quad(204, 205, 265, 205, 265, 211, 195, 211);
    quad(334, 205, 393, 205, 402, 211, 334, 211);
    //eyelids
    noFill();
    stroke(100);
    strokeWeight(1);
    bezier(200, 236, 218, 217, 250, 217, 261, 237);
    bezier(338, 238, 350, 217, 382, 217, 400, 236);
    //mouth
    noStroke();
    fill(186, 64, 50);
    bezier(250, 340, 270, 375, 330, 375, 350, 340);
    //clothes
    fill(108, 227, 102);
    arc(300, 530, 250, 250, -QUARTER_PI, PI + QUARTER_PI);
    fill(88, 180, 81);
    rect(50, 550, 500, 50);
    quad(50, 550, 180, 500, 420, 500, 550, 550);
}

It was very fun to be able to draw with code for the first time. There were some trials and errors, but I could eventually figure it out with the reference.