Sean Meng – Looking Outwards – 2

Chang Liu’s “Central Park, face to a tree.”

Artist Chang Liu’s Wild Growth, is a Processing application that generates abstract artworks from data gathered from live videos. She employs a live camera feed that “sees” colors when positioned toward natural environments, pictures, or human subjects. In turn, her software “paints” the colors into quick-generated portraits that blossom out of paint drips, splatters, and brush strokes. What I admire about this project is it embraces the uncertainty of robotic generated image and give it the control over the the painting or artwork that is produced. And by capturing the characteristics of these drawings, the artist give new meanings to the computation generated images and transfer them into the actual substance such as “the trees in Central park” or “snares”. 

Sean Meng – Project 02 – Variable face

hmeng-project 2

//Sean(Han) Meng
//Section C
//hmeng@andrew.cmu.edu
//Project-02-Variables-Face

var hairColor = 20;
var hairShape = 10;
var glassThickness = 3; 
var mouthSize = 2

function setup() {
    createCanvas(480, 480);
    background(240);
 
}

function draw() {   
    background(240);

 //Left Ear
    stroke(240,224,179);
    fill(240,224,179);
    strokeWeight(1);
    strokeJoin(ROUND);
    beginShape();
    vertex(180, 240);
    vertex(167, 240);
    vertex(160, 260);
    vertex(180, 290);
    vertex(195, 300);
    vertex(195, 260);
    endShape();

//Right Ear
    stroke(240,224,179);
    fill(240,224,179);
    strokeWeight(1);
    strokeJoin(ROUND);
    beginShape();
    vertex(340, 240);
    vertex(344, 240);
    vertex(350, 260);
    vertex(330, 290);
    vertex(325, 300);
    vertex(195, 260);
    endShape();

 //Face
    stroke(255,244,189);
    fill(255,244,189);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(195, 270); 
    vertex(195, 310);  
    vertex(230, 335);  
    vertex(247, 342); 
    vertex(270, 345);
    vertex(317, 298); 
    vertex(317, 225);   
    vertex(195, 225); 
    endShape();

 //The color of hair changes in different shades of blue randomly everytime mouse clicks
    stroke(hairColor, hairColor * 2, hairColor * 3);
    fill(hairColor, hairColor * 2, hairColor * 3);
    strokeWeight(4);
    strokeJoin(ROUND);
    beginShape();
    vertex(182.5, 262.5);
    vertex(167.5, 220);

//The silhouette of hair expands randomly everytime mouse clicks
    vertex(180 - hairShape * 2, 150 + hairShape);
    vertex(250, 127.5 - hairShape * 2);
    vertex(317.5 + hairShape / 2, 150 - hairShape / 2);
    vertex(340 + hairShape * 2, 202.5 - hairShape * 2);
    vertex(328, 263.25);
    vertex(322, 265.25);
    vertex(317.5, 225);
    vertex(198, 231);
    vertex(280, 225);
    vertex(255, 235);
    vertex(240, 230);
    vertex(230, 235);
    vertex(197, 230);
    vertex(195, 270);
    vertex(182.5, 262.5);
    endShape();

//The thickness of the glasses frame varies everytime mouse clicks
    stroke(0);
    strokeWeight(3);
    fill(255);
    strokeWeight(glassThickness);
    arc(225, 265, 42, 37, 0, PI + PI);
    fill(255);
    arc(285, 265, 42, 37, 0, PI + PI);
    stroke(150);
    strokeWeight(3);
    curve(246, 263, 246, 260, 260, 260, 282, 263);
    stroke(0);
    strokeWeight(3);
    line(195, 260, 205, 260);
    line(305, 260, 319, 260);

//Nose
    strokeWeight(2);
    line(255, 270, 250, 300);
    line(250, 300, 255, 300);

//The size of the mouth increases when mouse clicks
    noStroke();
    fill(240,214,159);
    triangle(240 - mouthSize, 325, 273 + mouthSize, 325, 250, 320 - mouthSize);
}


function mousePressed(){
    hairColor = random(0, 80);
    hairShape = random(5, 30);
    glassThickness = random(3, 7);
    mouthSize = random(2, 10);
}

In this project, I explored with interactive component “mousePressed” to assign random variables such as color or shape to my drawings. In this drawing, I was inspired by the character in Rick and Morty, so the hair varies in shades of blue and expand outwards.

Sean Meng-project-01-Face


hmeng-project 1

When I draw myself I found it very interesting to represent my own features such as hairstyle and glasses using abstract geometries and shapes. And drawing using coding is a brand new workflow that requires a different logic from drawing with hands.

//Sean(Han) Meng
//Section C
//hmeng@andrew.cmu.edu
//Project-01-self portrait

function setup() {
    createCanvas(600, 600);
    background(250);
 
}

function draw() {   
//BackGround
    stroke(229, 172, 211);
    strokeWeight(1);
    point(0, 300);
    point(250, 250);
    point(600, 450);

    noFill();
    strokeWeight(30);
    beginShape();
    vertex(0, 300);
    quadraticVertex(250, 250, 600, 450);
    endShape();

    stroke(89, 0, 89);
    strokeWeight(1);
    point(0, 500);
    point(300, 400);
    point(620, 100);

    noFill();
    strokeWeight(18);
    beginShape();
    vertex(0, 500);
    quadraticVertex(300, 400, 620, 100);
    endShape();

    stroke(255, 235, 50);
    strokeWeight(1);
    point(0, 360);
    point(300, 400);
    point(620, 600);

    noFill();
    strokeWeight(20);
    beginShape();
    vertex(0, 360);
    quadraticVertex(300, 400, 620, 600);
    endShape();

//Body
    stroke(0, 0, 103);
    fill(0, 0, 73);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(165, 365);
    vertex(140, 400);
    vertex(130, 600);
    vertex(450, 600);
    vertex(423, 400);
    vertex(380, 365);
    endShape();  

//Hoodie
    stroke(150);
    fill(150);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(205, 295); 
    vertex(175, 330); 
    vertex(260, 370);
    vertex(270, 370);
    vertex(290, 370);
    vertex(385, 330);
    vertex(350, 295);
    endShape(); 

//Neck
    stroke(230,214,169);
    fill(230,214,169);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(250, 330); 
    vertex(245, 370); 
    vertex(310, 370);
    vertex(305, 330);
    endShape();  

//Hoodie out
    stroke(210);
    fill(210);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(270, 360);
    vertex(175, 330); 
    vertex(165, 365); 
    vertex(272, 370)
    endShape();  

    stroke(210);
    fill(210);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(385, 330);
    vertex(300, 355);
    vertex(295, 370);
    vertex(390, 370);
    vertex(385, 330);
    endShape(); 

 //Left Ear
    stroke(240,224,179);
    fill(240,224,179);
    strokeWeight(1);
    strokeJoin(ROUND);
    beginShape();
    vertex(200, 240);
    vertex(187, 240);
    vertex(180, 260);
    vertex(200, 290);
    vertex(215, 300);
    vertex(215, 260);
    endShape();

//Right Ear
    stroke(240,224,179);
    fill(240,224,179);
    strokeWeight(1);
    strokeJoin(ROUND);
    beginShape();
    vertex(360, 240);
    vertex(364, 240);
    vertex(370, 260);
    vertex(350, 290);
    vertex(345, 300);
    vertex(215, 260);
    endShape();

 //Face
    stroke(255,244,189);
    fill(255,244,189);
    strokeWeight(3);
    strokeJoin(ROUND);
    beginShape();
    vertex(215, 270); 
    vertex(215, 310);  
    vertex(250, 335);  
    vertex(267, 342); 
    vertex(290, 345);
    vertex(337, 298); 
    vertex(337, 225);   
    vertex(215, 225); 
    endShape();

 //Hair
    stroke(0);
    fill(0);
    strokeWeight(4);
    strokeJoin(ROUND);
    beginShape();
    vertex(202.5, 262.5);
    vertex(187.5, 220);
    vertex(200, 150);
    vertex(270, 127.5);
    vertex(337.5, 150);
    vertex(360, 202.5);
    vertex(348, 263.25);
    vertex(342, 265.25);
    vertex(337.5, 225);
    vertex(318, 231);
    vertex(300, 225);
    vertex(275, 235);
    vertex(260, 230);
    vertex(250, 235);
    vertex(217, 230);
    vertex(215, 270);
    vertex(202.5, 262.5);
    endShape();

//Glasses
    strokeWeight(3);
    fill(255);
    arc(245, 265, 42, 37, 0, PI + PI);
    strokeWeight(3);
    fill(255);
    arc(305, 265, 42, 37, 0, PI + PI);
    stroke(150);
    curve(266, 263, 266, 260, 280, 260, 300, 263);
    stroke(0);
    line(215, 260, 225, 260);
    line(325, 260, 339, 260);

//Nose
    strokeWeight(2);
    line(275, 270, 270, 300);
    line(270, 300, 275, 300);

//Mouth
    noStroke();
    fill(240,214,159);
    triangle(260, 325, 293, 325, 270, 320);


//Arms
    stroke(50, 50, 150);
    strokeWeight(3);
    line(175, 440, 170, 600);
    line(390, 440, 410, 600);

//Strings
    fill(255);
    stroke(255);
    strokeWeight(1);
    rect(260, 370, 1, 80);
    rect(300, 370, 1, 75);
    rect(259, 450, 4, 15);
    rect(299, 445, 4, 15);
//graphic
    fill(230);
    strokeWeight(5);
    stroke(10, 60, 130);
    circle(345, 460, 40);

}

Sean Meng – Looking Outwards 01

TeamLab is a collective group that explores the connection between human and nature by applying technology to art field to create “digital art”. 

One of their project called “Paper Plane Music Airfield” engages with sound and light technology. This project is created collaboratively by the whole teamLab group. It is an interactive art installation that consists of multiple layers of sensors which can sense the motion of paper planes. The light and sound of the space are connected to the flight of the paper airplane, when the airplane touches light it influences the entire space causing it to change color and emit a sound tone. The project aims to evoke children’s curiosity of how the flight works by provides them interaction with technological installation. They work with coding to produce and manipulate the variation of the light and sound. This innovating interaction between digital art and humanity opens up a bright future for a broader overlap between technology and art. 

https://www.teamlab.art/w/paper-plane-music-airfield/