keuchuka-project2-variablefaces

project2

// Fon Euchukanonchai
// section A
// keuchuka@andrew.cmu.edu
// Project 2

//face coordinates
var faceX = 158;
var faceY = 103;
var faceW = 200;
var faceH = 320;
var faceRotate = -5;

var colorR = 249;
var colorG = 201;
var colorB = 216;


//facial features coordinates
var featureA = 130;
var featureB = 180;
var featureC = 150;
var featureD = 160;
var featureE = 220;
var featureE = 190;


function setup() {
    createCanvas(480, 640);
    background(255);
    noStroke(0);

   }
 
 function draw() {

    //face
    push();
    fill(colorR, colorG, colorB);
    noStroke();
    angleMode(DEGREES);
    rotate(faceRotate);
    rect(faceX, faceY, faceW, faceH, 20);
    pop();

    //top left eyes

    rotate(faceRotate-5);
    noFill();
    strokeWeight(2);
    stroke(0);
    beginShape();
    curveVertex(featureA, featureB);
    curveVertex(featureA, featureB);
    curveVertex(featureC, featureD); 
    curveVertex(featureE, featureE);
    curveVertex(featureE, featureE);
    endShape();

    //top right eyes
    noFill();
    strokeWeight(2);
    stroke(0);
    beginShape();
    curveVertex(featureA*2, featureB);
    curveVertex(featureA*2, featureB);
    curveVertex(featureC+230, featureD); 
    curveVertex(featureE*2, featureE);
    curveVertex(featureE*2, featureE);
    endShape();

    //bottom left eyes
    noFill();
    strokeWeight(3);
    stroke(0);
    beginShape();
    curveVertex(featureA+20, featureB+40);
    curveVertex(featureA+20, featureB+40);
    curveVertex(featureC+20, featureD+70); 
    curveVertex(featureE, featureE+40);
    curveVertex(featureE, featureE+40);
    endShape();

    //bottom right eyes
    noFill();
    strokeWeight(3);
    stroke(0);
    beginShape();
    curveVertex(featureA*2, featureB+50);
    curveVertex(featureA*2, featureB+50);
    curveVertex(featureC+200, featureD+90); 
    curveVertex(featureE+180, featureE+50);
    curveVertex(featureE+180, featureE+50);
    endShape();

    //nose
    noFill();
    strokeWeight(2);
    stroke(0);
    beginShape();
    curveVertex(featureA*2, featureA*2);
    curveVertex(featureA*2, featureA*2);
    quadraticVertex(featureA+110, featureC*2, featureA*2, featureD*2);
    quadraticVertex(featureA*2, featureB*2, featureA*2, featureD*2);
    curveVertex(featureA*2, featureE*2);
    curveVertex(featureA*2, featureE*2);
    endShape();

    //mouth
    noFill();
    strokeWeight(1);
    stroke(0);
    beginShape();
    curveVertex(featureB, featureC*3);
    curveVertex(featureB, featureC*3);
    quadraticVertex(featureA*2, featureC*3, featureA*2, featureD*3);
    quadraticVertex(featureD*2, featureD*3, featureC*2, featureD*3);
    curveVertex(featureB*2, featureD*3);
    curveVertex(featureB*2, featureD*3);
    endShape();

    //moustache
    fill(0);
    arc(featureA*2-10, featureC*3-10, 30, 15, -180, 0)
    rotate(20);
    arc(featureA*3+30, featureC*2+25, 30, 15, -180, 0)

    //mole
    fill(0);
    stroke(0);
    strokeWeight(1);
    ellipse(featureC, featureD-140, 20, 20);

}

//when mouse clicks, face and facial features dance

function mousePressed() {

    background(255);
    faceX = random(70, 200);
    faceY = random(50, 150);
    faceW = random(150, 300);
    faceH = random(250, 350);
    faceRotate = random(-15, 15);

    colorR = random(150, 300);
    colorG = random(150, 300);
    colorB = random(150, 300);

    featureA = random(120, 140);
    featureB = random(170, 190);
    featureC = random(140, 160);
    featureD = random(150, 170);
    featureE = random(210, 230);
    featureE = random (180, 200);

}

I wanted to create a line portrait that had simple parts, all of its parts moving, and constantly generating something new from random values. The result is an interesting one as the features constantly change but the attitude remains the same.

keuchuka-lookingoutwards2

064c from dextroorg on Vimeo.

Dextro, an anonymous artist, makes generative video art, and has been working on it since the mid-90s. His work looks like waves in one shot and like glitchy fields in another. I find it interesting because he had begun as a 3D artist working in the architecture field. His work, therefore, were influenced by creating physical landscapes in virtual spaces. Dextro exclusively uses Processing, finding relationships between different parts of his work. As he worked in an architectural setting, he was influenced by creating vast landscapes through algorithmic procedures – some real, some fantasy-like. He finds that experimenting with code introduces interesting art – when the script is unstable, the change can be surprising. He switches between oil painting and Processing, and believes that painting simulates physical algorithm. He also codes straight from his oil paintings, trying to represent all the interesting parts of the oil paint using code.

keuchuka – Looking Outwards 01

‘A Musical Wall where Little People Live’ is an interactive exhibition projected on a wall that responds to physical objects placed onto the wall. Depending on the type of the object that has been attached, the little people projected on the wall will slide, jump, or climb on. Different tones are also played when different types of objects are placed on to the wall, as well as when the little people interact with such objects.

This project is effective in its simplicity. Little children understand what objects do to the little people and are able to play with them easily, even though the objects and the little people seem to live in two different realms. The engagement of different senses also produce a wonderful sense of delight.

This installation signals an integration of the physical world and the virtual. The objects are “real” and the little people are merely projected, but they interact well together with logic that determines the tones they produce. The technology helps us rethink and expand the field of art in a few ways. It suggests the scale of virtual space created can expand within a relatively small physical space, allowing us to understand and be part of the virtual world in a creative way as well. It also means that we are able to easily manipulate the art around us, making it ultra subjective. A suggestion may be to encourage the use of physical touch as well.

teamLab (the artist collective) is mostly interested in how one experiences space and how to change that. It was founded in 2001 by Inoko, who gathered programmers, engineers, and designers for a digital agency. They believe “The digital realm, free from physical constraints, allows for unlimited possibilities of expression and transformation. Digital technology is a tool for change and a platform to express complex ideas and details.”

keuchuka-project01-portrait

// Fon Euchukanonchai
// keuchuka@andrew.cmu.edu
// 15-104
// 09/01/2017

function setup() {
	createCanvas(600, 600);
	background(255, 225, 100);
	}

function draw() {

//circle
	strokeWeight(0);
	fill(254, 230, 0);
	ellipse(380, 380, 600, 600);

//face	
	strokeWeight(0);
	fill(154, 154, 114);
	rect(400, 390, 290, 310);

	fill(118, 119,111);
	ellipse(410, 400, 380, 390);

	fill(132, 130, 91);
	ellipse(400, 400, 360, 380);

	fill(254, 245, 249);
	rect(390, 490, 150, 140);

	fill(254, 245, 249);
	ellipse(390, 410, 340, 370);

	fill(253, 253, 241);
	ellipse(380, 415, 310, 340);

//bangs
	push();
	fill(132, 130, 91);
	rotate(PI*0.2);
	ellipse(500, -50, 130, 20);
	pop();

	push();
	fill(132, 130, 91);
	rotate(PI*0.8);
	ellipse(-130, -410, 110, 20);
	pop();

//eyes
	fill(254, 230, 0);
	ellipse(240, 365, 110, 44);
	ellipse(400, 365, 110, 44);
	fill(222);
	ellipse(240, 365, 12, 35);
	ellipse(400, 365, 12, 35);

//mouth
	strokeWeight(3);
	stroke(254, 230, 0);
	line(200, 520, 370, 520);
	strokeWeight(0);
	fill(254, 230, 0);
	ellipse(280, 517, 70, 12);
	ellipse(337, 517, 70, 12);

//blush
	fill(253, 233, 241);
	ellipse(285, 410, 80, 20);
	ellipse(420, 410, 80, 20);

// dimple
	ellipse(400, 520, 20, 20);

//eyebrows
	push();
	fill(254, 230, 0);
	rotate(PI*0.04);
	rect(260, 280, 70, 10, 10);
	pop();

	push();
	fill(254, 230, 0);
	rotate(-PI*0.04);
	rect(300, 360, 80, 10, 10);
	pop();

	push();
	fill(254, 230, 0);
	rotate(PI*0.08);
	rect(480, 195, 50, 10, 10);
	pop();

//ears
	fill(254, 245, 249);
	ellipse(560, 400, 50, 100);
	fill(253, 253, 241);
	ellipse(550, 400, 40, 60);

//big hair
	fill(254, 230, 0);
	ellipse(938, 515, 700, 700);

//eyelashes
	noFill();
	strokeWeight(3.5);
	stroke(118, 119, 111);
	arc(238, 363, 110, 44, 3.3, 6.2);
	arc(402, 363, 110, 44, 3.3, 6.2);
	line(185, 350, 182, 345);
	line(200, 345, 198, 340);
	line(214, 343, 214, 338);
	line(457, 357, 463, 352);
	line(445, 348, 450, 342);
	line(431, 344, 433, 339);

//earrring
	fill(154, 154, 114);
	ellipse(562, 440, 5, 5);

	}

I created a portrait of myself using mainly ellipses, beginning with a sketch on illustrator.