Ellan Suder – Project 02 – Variable Face

variable face

/*
Ellan Suder
15104 1 D
esuder@andrew.cmu.edu
Project-02
*/

var left = 165;
var right = left + 200;
var upDown;
var randomColor;
var randomAlpha = 100;
var randomSize = 50;


function setup() {
    createCanvas(600, 450);
    background(200,300,40);
    
    randomColor = color(0,0,0);

    noStroke();
    fill(0,140,230);
    ellipse(200,450,300,300);
    fill(255); //face
    ellipse(200,200,300,390);
    ellipse(350, 150, 80, 80);
    fill(0,20,30) //dot eyes
    ellipse(150,150,40,40);
    ellipse(350,150,40,40);
  
    fill(0,20,30); //hat
    noStroke();
    beginShape();
    curveVertex(70, 90);
    curveVertex(70, 90);
    curveVertex(58, -20);
    curveVertex(321, -20);
    curveVertex(332, 90);
    curveVertex(332, 90);
    endShape();
  
    strokeWeight(6); // lines
    stroke(0,20,30)
    noFill();
    arc(150, 150, 80, 80, 3* QUARTER_PI, TWO_PI); //left eye
    arc(350, 150, 80, 80, PI, TWO_PI + HALF_PI); //right eye
    arc(250, 220, 80, 30, 3 * HALF_PI, QUARTER_PI); //nose
    arc(250, 280, 60, 60, 0 , PI); //mouth
    strokeWeight(7);
    stroke(0,140,230);
    rect(80, 100, 140, 120, 20); // left glasses lens
    rect(300, 100, 140, 120, 20); // right glasses lens
    
    textSize(10);
    noStroke();
    fill(0);
    text("click to randomize!", 460, 90);
}
 
function mousePressed() {
    noStroke(); //two circles change color every mousepress
    randomColor = color(random(230),random(230),random(230));
    fill(randomColor);
    ellipse(150,220,40,40);
    ellipse(350,220,40,40);

    var a = 110; //clover
    var b = 45;
    var r = 10;
    var w = 50;
    ellipse(a,b,r+10,w+10);
    bezier(a,b, //top
         a-r+w,b-r+w,
         a+r+w,b-r-w,
         a,b);
    bezier(a,b, //top (left)
         a-r-w,b-r-w,
         a+r-w,b-r+w,
         a,b);
    bezier(a,b, //right (top)
         a+r-w,b+r-w,
         a+r+w,b-r-w,
         a,b);
    bezier(a,b, //right (bottom)
         a+r+w,b+r+w,
         a+r-w,b-r+w,
         a,b);
    bezier(a,b, //left
         a-r+w,b-r+w,
         a-r-w,b+r+w,
         a,b);
    bezier(a,b, //left (top)
         a-r-w,b-r-w,
         a-r+w,b+r-w,
         a,b);
    bezier(a,b, //bottom (left)
         a+r-w,b+r-w,
         a-r-w,b+r+w,
         a,b);
    bezier(a,b, //bottom
         a+r+w,b+r+w,
         a-r+w,b+r-w,
         a,b);
  
    fill(255) //redraw sclera
    ellipse(150,150,75,75);
    ellipse(350,150,75,75);
    left = random(137, 158);
    right = left + 200
    randomSize = random(10,45);
    randomAlpha = random(60,100);
    randomColor.setAlpha(randomAlpha);
    fill(randomColor);
    upDown = random(137,163);
    ellipse(left, upDown, randomSize, randomSize); //eyes
    ellipse(right, upDown, randomSize, randomSize);
    
    fill(255) //redraw nose area
    rect(250,200,45,40);
    stroke(0);
    noFill();
    arc(250, 220, randomSize + 20, 30, 3 * HALF_PI, QUARTER_PI); //nose  
  
    noStroke();
    fill(255)
    ellipse(250,300,85,85);
    fill(0);
    var oscsize; //mouth
    ellipse(250,300,80,60 - sin(millis()/100) * 20);
  
    let letters = ['A', 'B', 'C', 'D', 'E', 'F', 
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
    let letter = random(letters); // select random letter
    fill(200,300,40) //redraw background 
    rect(450,30,100,100)
    fill(0);
    textSize(62);
    text(letter, 470, 90);
}

Ellan Suder-LookingOutwards-02

Alfred Hoehn’s Drawing Machine

Creator’s name: Alfred Hoehn

Title of the work above: Drawing Machine Ptolemaios

Year of creation: 2008

I really enjoy the works of Alfred Hoehn, a Swiss artist who constructs large-scale linkage harmonographs. The simple movements of the pendulums create complex images that can look flat/abstract or look almost 3D, depending on how the artist sets the lengths and the diameters of the spinning circles.

The finished product is fun to look at, but the process of watching the image as it’s being drawn is important to the project as well. It’s very mesmerizing and calming –– a few people in the comments section were comparing it to a computer screensaver.

The artist can probably estimate the finished product to an extent, but I like the element of uncertainty. It’s kind of like plugging a random equation and seeing what kind of graph it’ll make.

Ellan Suder-Project01-Face

I had a bit of trouble sorting out which values corresponded with which points, especially with the quadrilaterals, but I eventually worked it out!

ellansuderface

function setup() {
    createCanvas(500, 500);
	background(93, 203, 255);

    stroke(250, 50, 56); 
    strokeWeight(20);
    line(60, 360, 67, 345); //thumb
    line(160, 475, 40, 340); //leftarm
    line(450, 360, 435, 345); //thumb
    line(440, 475, 460, 340); //rightarm

    stroke(0, 0, 255)//flag
    strokeWeight(5)   
    line(60,420,60,70)
    fill(255);
    rect(60, 70, 400, 100, 20);

    noStroke(); //face
    fill(250, 50, 56); 
    ellipse(250,350,200,170);

    let s = 'hello! nice to meet you.';
    fill(255, 0, 10);
    textSize(35)
    text(s, 80, 85, 400, 100)
  
    noStroke(); //face
    fill(250, 41, 56); 
    ellipse(300,500,300,260);

    stroke(255, 0, 10); //nose
    strokeWeight(5);
    fill(0, 240, 205); 
    triangle(40+270, 75+300, 58+270, 20+300, 86+270, 65+300);

    fill(0, 255, 0); //eyebrows
    quad(38+180, 31+240, 86+180, 20+240, 90+180, 40+240, 30+180, 76+240);
    fill(0, 255, 0); 
    quad(38+270, 21+240, 86+270, 20+240, 90+270, 40+240, 20+270, 30+240);

	stroke(0, 0, 255); //left eye
	strokeWeight(5);
	fill(255);
    ellipse(250, 340, 30, 50);  

    stroke(10, 10, 255); //right eye
    strokeWeight(5);
    fill(255);
    ellipse(300, 340, 50, 30);  

    arc(300, 400, 60, 20, 0, PI + QUARTER_PI, PIE); //mouth
    strokeWeight(5);
    fill(255);
    ellipse(300, 340, 50, 30);  
}

function draw() {
}

Ellan Suder-LookingOutwards-01

Gameplay summary of from Engadget.

One of my current favorite video games is Breath of the Wild from Nintendo’s Legend of Zelda series, a nonlinear and open world action-adventure game. It’s the first game of its kind in the series and inspired by other open-worlds such as Skyrim. Besides the beautiful visuals, it’s just a really fun game to play.

I can’t claim to know much about game systems, but I’ve heard how BOTW’s physics system has impressed many. The game was built in a modified version of the Havok Physics Engine. The game developers had to work to create a new physics engine that was consistent across the game world and worked logically without negatively affecting gameplay. (One of the game developers recounts a time where during testing, he entered an area only to find that all the objects normally there had been blown away by the wind.) The engine rewards exploration and experimentation. ‘For instance, in Breath of the Wild you might have a puzzle where making use of the physics, there’ll be various ways you can solve that puzzle’ (Aonuma, series producer).

As well as being a new direction for Zelda, the game is a popular innovation on the open-world genre because it simplifies the needless complexity of similar games in its genre and introduces new ways to interact with the environment. Instead of following a list of to-do list of quests, the players are allowed to focus on the expansive world and direct themselves. I really admire how they were able to create a game that encourages the players to move all across the map and gives them almost complete freedom. BOTW’s greatest success was in capturing the spirit of adventuring into the wild.