Project 7, odh

odhP7

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 7

var nPoints = 100;

function setup() {
    createCanvas(480, 480);
    frameRate(10);
}

function draw() {
    background(255);
    push();
        translate(0, mouseY); //Changes the height based on MouseY
        fill(111, 111, 222);
        drawCurve(); //Draws the curve
    pop();
}
    
function drawCurve() {

    beginShape();
    for (var i = 0; i < nPoints; i++) {
        var t = map(i, 0, nPoints, 0, TWO_PI); //maps the points of the equations
        strokeWeight(1);

        //The equations that generate the curve
        x = (mouseX/19)*((sin^3)*(t)); //Curve changes with mouseX
        y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
        
        vertex(x, y);
    }
    endShape(CLOSE);    
}

I attempted to use a Heart Curve in this project, but I came across an issue with using Sin^3. Therefore, I just went with the result I got leading to my current project. I chose to have the curve stretch with the mouseX and change heights with mouseY.

Looking Outwards 07

This video features two seemingly irrelevant “posters”. One with images of our world, the other with “random” dots. The artist, studio Nand.io, wanted to venture to see what “tomorrow” would look like. In this project titled, Analog Mensch Digital, the poster on the right, with the random dots is the tomorrow. After reading about the project it explains that the random dots are in fact digitally encrypted patterns of the images on the left on the analog poster. The artist wanted to give a new way of looking at the world, the right poster. Basically, the analog poster is only there to give concept and understanding to the digital poster. It would interesting to think about if we in fact needed the digital poster as the reference for the analog.

Looking Outwards 06

http://dada.compart-bremen.de/item/artwork/1265

I have always been a fan of simplicity in art and design. All the while providing enough substance to hold the attention of the viewer. I think this piece by Herbert W. Franke does this quite well. After all, it is only a plain white canvas with many squares randomly placed. However, in this simply idea he gives the audience a fun moment to look at his work. He does this by changing the sizes of the squares and letting them overlap, giving the piece an added dimension. Now each different viewer can see something personal in the random amalgamation of squares.

As far as the actually production of the piece, I would imagine, with whichever program he used, he used arrays to hold various sizes and a “random” command to place and call different sizes from the array. He describes the process as drawing and then generating it digitally.

Project 6, odh

odhP6

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 6

function setup() {
    createCanvas(265, 530);
}
 
function draw() {
    background(220-(2*day())); //The background darkens with the currentday
    stroke(255);

    //Creates the Red Ball thats grows/move/changes color with the current second
    strokeWeight(1);
    fill(second()*4, second(), second());
    ellipse(width-4*second(), height/2+4*second(), second(), second());

    //Creates the Blue Ball thats grows/move/changes color with the current minute
    strokeWeight(2);
    fill(minute(), minute(), minute()*4);
    ellipse(4*minute(), height/2-4*minute(), minute(), minute());
   
    rotate(6); //This adds disorder to the lines and helps place the Hour ball with them

    //Creates the Yellow Ball thats grows/move/changes color with the current hour
    strokeWeight(4);
    fill(hour()*12, hour()*12, 0);
    ellipse((width/2)+1, height/2, hour(), hour());
       
    strokeWeight(1);

    //Creates the lines
    line(0, height, width, 0);
    line(0, width, height, 0);
    line(width/2, 0, width/2, height);
    line(0, height/2, width, height/2);
}

In my abstract clock I really ran with the word “abstract.” I reduced seconds, minutes, and hours each into a primary colored ball that moves and changes color and size as each aspect of time changes. I also hinted at the day with the shade of the background.

Project 5, odh

odhP5

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 5

var Right = 0; //Declares the variable for how the series move horizontally 
var Down = 0;  //Declares the variable for how the series move vertically

function setup() {
    createCanvas(479, 479);
    background(150, 120, 200);
}
 
function draw() {
        translate(239, 239); //Moves the array of the series to be centes on the corner
        translate(-480, Down);
        translate(Right, 0);
        for (var y = 0; y < 500; y += 60) {     //Sets up the series of 
            for (var x = 0; x < 500; x += 60) { //intersecting lines
                strokeWeight(2);
                stroke(200, 255, 255);
                line(x, x, y + 80, y - 80);     //Creates the Series of intersecting lines
            };
        };
    Right = Right + 100;
    Down = Down - 100;
}

I chose to play with the criss-cross idea that often shows up on wallpapers. I am a fan of complex but organized patterns so I gave the lines a steroid injection while still keeping them in an array.

Looking Outwards 05

https://cdna.artstation.com/p/assets/images/images/000/189/312/large/stefan-morrell-cablecorner2.jpg?1443928214

I looked at the work of the concept artist Stefan Morrell. I admire this piece specifically for its homage to classic architecture, but then for his futuristic additions. As someone who frequently has to render my work for work in architecture, I am greatly impressed by his details and clean render. I would imagine he had to let his computer render for hours to get the level of detail it appears to show. I am even more impressed with his expert use of Photoshop to add a more realistic feel the his piece. He titled the work “Cable Corner” and it was created in 2014. He modeled and rendered the piece in 3Dsmax, then used Photoshop for final touches.

Project 4, odh

odhP4

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 4

var W = 1;  //Value of strokeweight
var B = 150;//Value of B in RGB

function setup() {
    createCanvas(400, 300);
}
 
function draw() {
    background(50, 50, B);
    strokeWeight(W);

    //Sets up the series of lines and how they move with the mouse's location
    for(var i = 0; i < 20; i ++){
        line(mouseX, i*20, 400-i*10, height);
        line(mouseX, i*20, i*10, height);
        line(400, i*20, 100+i*10, mouseY);
        line(0, i*20, 100+i*10, mouseY);
    };

    //Determines the color of the background and 
    // the strokeweight of th lines based on the mouse's location
    if (mouseX > width/2) {
        W = 2;
        B = 255;
    } else {
        W = 1;
        B = 150;
    };
    if (mouseY > height/2) {
        W = 3;
        B = 0;
    } else {
        W = 1;
        B = 150;
    }; 
}

I used some simple loops to have the arrangement of the series of lines be determined by the mouse’s location. Then I practiced more with “if” statements and added some conditionals.

Project 3, odh

odhP3

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 3

var R = 100; //"R" of RGB
var G = 100; //"G" of RGB
var W = 50; //Width of the ellipse
var H = 50; //height of the ellipse

function setup() {
    createCanvas(600, 480);
}
 
function draw() {
    background(50, 50, 100);
    noStroke();

    rectMode(CENTER);

    fill(100, 0, 0);
    rect(150, 240, 100, mouseX);

    fill(0, 100, 0);
    rect(450, 240, mouseY, 100);

    fill(R, G, 0);
    ellipse(mouseX, mouseY, W, H);

    H = mouseX;
    W = mouseY;


    //Changes the color of the ellipse depending on its location
    if (mouseX > 100) {
        G = 200;
    };
    if (mouseY > 100) {
        R = 200;
    };

}

I based all my changes on the location of the mouse, the change of size of the rectangles, the size of the ellipse, the color of the ellipse, and the location of the ellipse.

Looking Outwards 02

http://www.quayola.com/laocoon-series/

This group uses a 7-axis, milling setup to create different sculptures of the human body, in their self-proclaimed “Sculpture Factory.” I admire how they combine a renaissance style of sculpture and a more geometric, contemporary style. Their process likely consists of creating the model in a 3D program and then entering it into the mill to carve away at the EPS blocks. They probably used an algorithm to create the triangular geometries and how they attach to themselves. I would want to know how the artist planned where and how the geometries fused with the natural human body.

Project 2, odh

odh-variables

//Owen D Haft
//Section D
//odh@andrew.cmu.edu
//Project 02
    
var headX = 200;
var headY = 300;
var earX = 60;
var earY = 100;
var eyeX = 50;
var eyeY = 50;
var eyeU = 25;
var eyeV = 25;
var musX = 100;
var musY = 80;

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

function draw() {

    background(64, 64, 154);
    noStroke(0);

//body
    fill(200, 0, 0)
    arc(320, 480, 150, 100, PI, PI);
    
//neck
    fill(247, 231, 197);
    rect(300 ,340 ,40 , 100);

//ears
    ellipse(200, 230, earX, earY);
    ellipse(440, 230, earX, earY);

//head
    ellipse(320, 260, headX, headY);

//eyes
    fill(255);
    ellipse(275, 220, eyeX, eyeX);
    ellipse(365, 220, eyeY, eyeY); 

//pupils
    fill(0, 0, 0);
    ellipse(275, 220, eyeU, eyeU);
    ellipse(365, 220, eyeV, eyeV);   

//mustache
    fill(120, 100, 60)
    arc(320, 310, musX, musY, PI, PI)

}

function mousePressed(){

    earX = random(50, 100);
    earY = random(80, 120);
    headX = random(200, 250);
    headY = random(300, 350);
    eyeX = random(40, 75);
    eyeY = random(40, 75);
    eyeU = random(6, 36);
    eyeV = random(6, 36);
    musX = random(80, 120);
    musY = random(75, 85);

}

I worked primarily with simpler geometries while experimenting with the variables. I played with using the same variables for both the “x” and “y” of certain shapes, like the eyes and pupils, allowing them to change independent of each other.