Connor McGaffin – Project 02

sketch

/*
Connor McGaffin
Section C
cmcgaffi@andrew.cmu.edu
Project-02
*/

// Simple beginning template for variable face.
var eyeSize = 20;
var faceWidth = 100;
var faceHeight = 150;
var noseSize = 30;
var browHeight = 137;
var bodyWidth = 70
 
function setup() {
    createCanvas(640, 480);
}
 
function draw() {
    background(215,120,0);
    var eyeLX = width / 2 - faceWidth * 0.5;
    var eyeRX = width / 2 + faceWidth * 0.25;
    var noseX = width / 2 - faceWidth * .33;
    

    //body
    fill(0,50,150);
    strokeWeight(0);
    ellipse(width*.52,height, bodyWidth, height);

    //head
    strokeWeight(0);
    fill(0,80,180);
    ellipse(width / 2, height / 2, faceWidth, faceHeight);
   
    //left eye
    fill(0,0,60);
    ellipse(eyeLX, height / 2, eyeSize, eyeSize);
  
    //nose
    fill(0,180,180);
    rect(noseX,height * .45, noseSize,50);

    //right eye
    fill(0,0,60);
    ellipse(eyeRX, height / 2, eyeSize, eyeSize);
 
    //mouth
    strokeWeight(3);
    fill(0,0,60);
    line(eyeLX+32,height*.6,eyeRX,height*.6);
 
    //left brow
    line(eyeRX+eyeSize/2, browHeight, eyeRX-eyeSize/2, browHeight); 
    //right brow
    line(eyeLX+eyeSize/2, browHeight, eyeLX-eyeSize/2, browHeight); 
    
}
 
function mousePressed() {
    faceWidth = random(100, 200);
    faceHeight = random(120, 200);
    eyeSize = random(10, 30);
    noseSize = random(10,40);
    browHeight = random(180,220);
    bodyWidth = random(70,220);
    
}

There was definitely a learning curve to this project and it took me a good bit before I felt comfortable with the new functions. As a communication designer, I am drawn to the idea of showing just enough to understand what I am trying to express. I carried that mindset into this project through attempting to show a range of character with just a few simple shapes.

Below are some of the preliminary sketches I did in deciding what I wanted my faces to look like, although I eventually created my portraits in three-quarters view.

 

Connor McGaffin – Looking Outwards – 02

This week I looked outwards to the work of Memo Akten. This work explores generating visuals of nature through the movement of manmade objects. The visuals generated have a paint-like quality, possibly driven by Akten’s admiration of impressionist art. Among the images seen in this video are simulations of crashing waves, flames, clouds, and plant life.

Atken describes the project as:

 “a deep neural network making predictions on live camera input, trying to make sense of what it sees, in context of what it’s seen before.”

With this information, I would infer that the algorithm used in this project may be similar to those used in Photoshop’s filters and patch tool. The filters apply an aesthetic quality to the visuals while the patch tool interprets what visuals are around it in an effort to generate more of the image. From watching the video, it becomes evident that certain hues of color correlate to different textures and hues, depending on which “mode” the generative algorithm is in.

A deep neural network making predictions on live camera input, trying to make sense of what it sees, in context of what it’s seen before. It can see only what it already knows, just like us.

I feel incredibly drawn to this work because of it’s ability to make natural phenomena feel so understandable. The work draws parallels between the incredibly organic and the accessibly human. I am most excited about the experiment with the water simulation driven by manual fabric manipulation.

 

source 

uploaded April, 2018

Connor McGaffin – Looking Outwards -01

The “wavegrower” Project

Whirpool: a sinking loop created in part of the wavegrower project (source)Frédéric Vayssouze-Faure is an independent creative based in France whose work focuses on the intersection of minimalism and multitude. His “wavegrower” project focuses on the creation of physical spaces through oscillating shapes driven by the use of the sine function.

I am inspired by this body of work because of it’s ability to successfully use incredibly artificial means to create such a natural environment. As a student studying environments design, I am in awe of his ability to generate something so manmade and yet so organic.

Surfer’s Dream: we’re brought right into the heart of the the perfect barrel. (source)

I think the project is interesting in that the animations move the viewer through the space, almost in a trance-like manner. However, I wonder how a project like this would feel if the viewer were able to navigate the space in their free will, whether it be through the use of a keyboard or the use of virtual reality. Building off of this, I would love to see how this could be integrated into a physical space, be it with intricate LED lights or through immersive and interactive projections.

Vayssouze-Faure’s prior work focuses on the visualization of sound, specifically in regards to the vibration emitted by guitars. When questioned about his influences, the artist references the awe-inspiring power of nature and the attempt to make sense of it mathematically.

Connor McGaffin – Project-01-Face

sketch

function setup() {
   createCanvas(600, 600);

}

function draw() {
background(255, 214, 89);
//shirt
	//dark blue
	fill(8,27,64);
	strokeWeight(0);
	rect(150, 450, 300, 200, 50);
	//neck
	fill(237,175,130);
	triangle(250,450,350,450,300,500);
	rect(250,425,100,25);
	//collar
	fill(36,45,64);
	triangle(300,500,250,430,230,450);
	triangle(300,500,350,430,370,450);
//hair
	fill(97,62,39);
	ellipse(300,150,300,200);
	ellipse(150,205,50,150);
	ellipse(450,205,50,150);
//head
	fill(237,186,149);
	triangle(300,450,150,400,450,400);
	rect(150,150,300,250);
	ellipse(150,295,50,80);
	ellipse(450,295,59,80);
	//more hair
	fill(97,62,39);
	ellipse(315,150,270,75);
	triangle(150,150,180,150,150,170);
	//eyebrows
	rect(200,215,60,15);
	rect(342,215,60,15);
	//nose
	fill(237,175,130);
	triangle(300,250,280,340,320,340);
	ellipse(300,335,40,40);
	//eyes
	fill(250);
	ellipse(230, 280, 80, 80);
	ellipse(370,280,80,80);
	fill(0);
	ellipse(230,280,30,30);
	ellipse(370,280,30,30);
	fill(237,186,149);
	//rect(200,230,200,15);
	//mouth
	fill(250);
	triangle(230,370,370,370,300,420);

	//mole
	strokeWeight(5);
	fill(98,63,39);
	point(330,447);
	//teeth
	line(260,390,300,390);
	//dimples
	noLoop();
	stroke(237,175,130);
	line(200,360,200,370);
	line(400,360,400,370);
	



}

Creating this self portrait was rather rewarding. I oftentimes struggled keeping track of the coordinates I was using, and I had to reorganize my code multiple times to sort this out. If I had more time, I would like to learn how to animate this portrait, just so that it feels more human and less static.