LO: Computational Fabrication

While looking through the different projects of digital fabrication, one specific project from Marius Watz caught my attention. I really admire Chainmail by Watz because it looked so complex I had to really look into it to see how it was made. When I looked carefully at the artwork, it was basically made out of many chains that were connected by hollow rectangles. I think it’s interesting how Watz created an artwork that looks very complex, but the artwork itself is just chains connected together. I suppose the artwork is a parametric object because it is made out of repetitive shapes. Watz’s artworks are mostly geometric shapes that repeat each other to create something very complex. I feel that Watz really captured his artistic sensibilities in this artwork because he repeats a simple rectangular shape to create a very organic shape. The artwork itself is very round, however, it is made out of rectangular shapes.

Chainmail by Marius Watz

Project 3: Dynamic Drawing

sketch

var angle = 0
function setup() {
    createCanvas(450, 600);
    background(0);
}

function draw() {
    if (mouseY < height / 2){ //determines color based on mouse's vertical side of canvas
        background ("black")
    }
    else if (mouseY > height / 2) {
        background (135, 188, 222)
    }
    //if (mouse X < width / 2) {
      //background (255, 190, 11)

    noStroke();
    fill("white") // circle moves up and down
    ellipse(225, mouseY, mouseY, mouseY)


    ellipse(mouseX, 300, mouseX, 10) // ellipses moves side to side and gets longer
    ellipse(mouseX, 20, mouseX, 10)
    ellipse(mouseX, 580, mouseX, 10)
    ellipse(mouseX, 40, mouseX, 10)
    ellipse(mouseX, 560, mouseX, 10)
    ellipse(mouseX, 60, mouseX, 10)
    ellipse(mouseX, 540, mouseX, 10)
    ellipse(mouseX, 320, mouseX, 10)
    ellipse(mouseX, 280 , mouseX, 10)
    ellipse(mouseX, 80 , mouseX, 10)
    ellipse(mouseX, 100 , mouseX, 10)
    ellipse(mouseX, 120, mouseX, 10)
    ellipse(mouseX, 140 , mouseX, 10)
    ellipse(mouseX, 160 , mouseX, 10)
    ellipse(mouseX, 180 , mouseX, 10)
    ellipse(mouseX, 200 , mouseX, 10)
    ellipse(mouseX, 220 , mouseX, 10)
    ellipse(mouseX, 240 , mouseX, 10)
    ellipse(mouseX, 260, mouseX, 10)
    ellipse(mouseX, 280 , mouseX, 10)
    ellipse(mouseX, 340 , mouseX, 10)
    ellipse(mouseX, 360 , mouseX, 10)
    ellipse(mouseX, 380 , mouseX, 10)
    ellipse(mouseX, 400 , mouseX, 10)
    ellipse(mouseX, 420 , mouseX, 10)
    ellipse(mouseX, 440, mouseX, 10)
    ellipse(mouseX, 460 , mouseX, 10)
    ellipse(mouseX, 480 , mouseX, 10)
    ellipse(mouseX, 500 , mouseX, 10)
    ellipse(mouseX, 520 , mouseX, 10)

    push() // circle rotates around point
    translate(225, 300);
    fill(255,190,11)
    rotate(radians(min(mouseX, 200)));
    ellipse(100, 100, 40, 40);
    angle += 2
    if (mouseY)
    pop()
}

This project was hard because it was more open ended than the previous one’s and I had a difficult time understanding what to create and how to create it.

LO: Computational Fabrication

This digital fabrication piece photographed by Theresa Burger not only fascinates me because of its detail and interesting form, but on a broader scale, I really like how the digital fabrication is used as a piece of jewelry and accessory. I think that creating something with the purpose of it being worn and displayed, especially something that is 3D printed, is difficult because the artifact exists for many purposes and is functional, which I admire because of my interests in product design. Like any piece of art, these earrings are stylized and it is clear that the artist has a certain aesthetic. The use of color is very minimal and the form is repetitive in nature which speaks to the artists’ taste for simplicity and minimalism. I think that these earrings follow the rules of a parametric object in that values of a variable are changed and produce a generative design.

Artist: Theresa Burger
Year: 2011
Link: https://www.flickr.com/photos/tweebi/5679733977/in/photostream

Digital Fabrication, Theresa Burger

Project 3 – Dynamic Drawing

gnmarino-03Spacecraft Drawing

var xCord = 300;
var yCord = 225;
var intSize = 1;
//for RBG color values
var intRed = 127;
var intGreen = 0;
var intBlue = 127;

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

function draw() {
    
    background (200);

    fill(intRed, intGreen, intBlue);

    // Change Red attribute (RGB) color as mouse moves across screen

    intRed = 255 - (mouseX / 2.3529);

    // Change Blue attribute (RGB) color as mouse moves across screen

    intBlue = (mouseX / 2.3529);
    
    //changes size as mouse moves horizontally 
    intSize = xCord * .01


    //if mouse is on left side then spaceship points to the left
    if (width/2 > mouseX) {
        //draws polygon
        beginShape();
            vertex(xCord, yCord);
            vertex(xCord + (5 * intSize) , yCord - (5 * intSize));
            vertex(xCord + (15 * intSize), yCord - (5 * intSize));
            vertex(xCord + (30 * intSize), yCord - (15 * intSize));
            vertex(xCord + (30 * intSize), yCord);
        endShape(CLOSE);

        //if mouse is on right side then spaceship points to the right
    }else {
             beginShape();
                vertex(xCord, yCord);
                vertex(xCord - (5 * intSize) , yCord - (5 * intSize));
                vertex(xCord - (15 * intSize), yCord - (5 * intSize));
                vertex(xCord - (30 * intSize), yCord - (15 * intSize));
                vertex(xCord - (30 * intSize), yCord);
                endShape(CLOSE);
    }


    yCord = mouseY;

   // Don't let object go off canvas if mouseY coordinate goes off canvas
    if (yCord < 0) {
        yCord = 0;
    }

    if (yCord > 450) {
        yCord = 450;
    }

    xCord = mouseX;

   // Don't let object go off canvas if mouseX coordinate goes off canvas
    if (xCord < 0) {
        xCord = 0;
    }

    if (xCord > 600) {
        xCord = 600;
    }


} 






This project was difficult because it was hard to keep track of how the math is working and where your coordinates are, especially while trying to rotate and flip objects.

Also, at first I had a hard time finding an idea that sticks to the parameters and was constricted and always predictable.

Here is my starting drawing of trying to create my idea.

Digital Fabrication – LO3

In the realm of digital fabrication there are many big cutting edge projects. However, many wonder how it can be helpful to everyday life. This is why I chose Para Clocks as the highlight of my blog post.

The clocks (shown in photo) are branded as “Para Clocks” and the creators are LeeLABS. The campaign started around 2012.

They are digital fabricated clocks made out of concrete that are created using parametric software. It seems that because they used a program to make their clocks, they were able to make these intricate patterns that are mathematically perfect. I think it’s very interesting how you can use coding to make artwork and everyday objects have a pattern that is mathematically correct. 

You can tell the creator is using symmetry and circular patterns to make these complex but simple clock designs. Its beauty is based off its intricacy and minimalism, which is why I really enjoy these clocks. 

I think they also really reflect nature because often nature is complex, but also made in a way that there is mathematical order and symmetry, thus making these clocks so attractive because nature is always beautiful to humans. 

Link:https://www.kickstarter.com/projects/224392735/para-clocks-project

Project 3: Dynamic Drawing

aysha-dynamic

var x = 1
var y = .75

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

function draw() {
    background(200, 100, 0); // orange background
    fill(mouseX);
    rectMode(CORNER);
    rect(0, 0, mouseX*x, mouseY*y); // top left rect
    rectMode(CORNERS);
    fill(mouseY);
    rect(450, 600, mouseX*x, mouseY*y); // bottom right rect
    fill(200, 75, 75);
    triangle(mouseX, mouseY*y, mouseX*1.25, mouseY+30,
        mouseX*.75, mouseY+30); // cursor triangle
}

It was interesting trying to find variables to incorporate other than mouseX and mouseY. I ultimately decided to go with something simple just because the layers of drawing looked cleaner.

Project 03: Dynamic Drawing

sketch
//Julianna Bolivar
//jbolivar
//section d
var x = 305; //center petal
var y = 225;
var y1 = 140; //petals
var py1 = 0; //petal velocities
var y2 = 180;
var py2 = 0;
var y3 = 180;
var py3 = 0;
var y4 = 270;
var py4 = 0;
var y5 = 270;
var py5 = 0;

function setup() {
    createCanvas(600, 450);
    py1 = 0; //petal velocitiess
    py2 = 0;
    py3 = 0;
    py4 = 0;
    py5 = 0;
}

function draw() {
    if (mouseX > width/2){     
        background(0, 51, 102); //mouseX in right is midnight blue
    }
    else {
        background(173, 216, 230); //mouse X in left in sky blue
    } 
    
    push();
    rotate(frameCount / 50.0);
    star(100, 100, 80, 100, 20); //sun 
    pop();
    
    fill(154, 205, 50);
    noStroke();
    rect(290, 250, 30, 400); //stem
    fill(255, 105, 180);
    circle(305, y1, 100); //top petal
    circle(380, y2, 100); //upper right petal
    circle(230, y3, 100); //upper left petal
    circle(245, y4, 100); //lower left petal
    circle(370, y5, 100); //lower right petal
    y1 += py1; 
    y2 += py2; 
    y3 += py3; 
    y4 += py4; 
    y5 += py5; 
    fill(255, 215, 0);
    circle(x, y, (100 + mouseY/3)); //center gets bigger with mouseY
} 

function mousePressed() { //petals fall on click
    py1 = 10;
    py2 = 9;
    py3 = 5;
    py4 = 10;
    py5 = 6;
}

function star(x, y, radius1, radius2, npoints) { //star spin
  let angle = TWO_PI / npoints;
  let halfAngle = angle / 2.0;
  beginShape();
  for (let a = 0; a < TWO_PI; a += angle) {
    let sx = x + cos(a) * radius2;
    let sy = y + sin(a) * radius2;
    vertex(sx, sy);
    sx = x + cos(a + halfAngle) * radius1;
    sy = y + sin(a + halfAngle) * radius1;
    vertex(sx, sy);
  }
    endShape(CLOSE);
}

This was so difficult. Because my idea was very simple at first it ended up looking all over the place as I added elements. Some things I never figured out, like how I wanted the petals to change as they fall.

LO: Computational Fabrication

John Edmark’s series of 3D printed sculptures based off of the golden ratio (phi) reflects the intersection of science, nature, and art. The work is often described as creating an optical illusion, the sculpture’s pieces are rotating, but it appears as if it is in bloom like a flower. This relationship can be attributed to the sculpture mimicking phyllotaxis because of its inclusion of the Fibonacci sequence. The art is the result of the sculpture itself as well as the form in which it is communicated, including strobe lights and shutter speed. This inclusion is interesting because some of the sculptures are actually available for purchase, which I think negates the complete automation of the art as a whole. I do love the simplicity of the execution though. The clean, repetitive lines and white material allow the viewer to focus on the shape and motion of the object, rather than the construction itself.

Project 03- Dynamic Drawing

sketch

//Catherine Liu
//jianingl@andrew.cmu.edu
//Section D

// bee follows cursor and creates flowers when it gets near stems
var x = 300;
var y = 200;
var dx = 0;
var dy = 0;
var angle = 0;


function setup() {
    createCanvas(600, 450);
    background(204,255,255);
}

function draw() {
    noStroke()
    //bee follows mouse
    dx = mouseX - x;
    dy = mouseY - y;
    x = x + 1*dx;
    y = y + 1*dy 
    background(204,255,255);
    //sun rotates according to mouse
    fill(0,153,0)
    push();
    fill(255,128,0);
    translate(300,450/2);
    rotate(radians(abs(mouseX/3)));
    ellipse(-200,-70,100,100)
    pop();
    rect(0,height-40,width,40);
    fill(0,255,0); //flower stems
    rect(445,370,10,80);
    rect(295,370,10,80);
    rect(145,370,10,80);

    if (dist(mouseX, mouseY, 450, 350) < 50) {
        if (dist(mouseX, mouseY, 450, 350) < 25) {
            fill(255,153,255); // flower petal is pink
        } else {
            fill(255,0,0) // flower petal is red
        }
        ellipse(450, 350, max(mouseX-340,mouseY-340), max(mouseX-340,mouseY-340));
        fill(255,255,0); // flower center
        ellipse(450, 350, max(mouseX-380,mouseY-380), max(mouseX-380,mouseY-380)); //make right flower bigger

        fill(255,0,0); // flower petal
        ellipse(300, 350, 250-(max(mouseX-250,mouseY-250)), 250-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(300, 350, 180-(max(mouseX-290,mouseY-290)), 180-(max(mouseX-290,mouseY-290))); //make middle flower smaller

        fill(255,0,0); // flower petal
        ellipse(150, 350, 250-(max(mouseX-250,mouseY-250)), 250-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(150, 350, 180-(max(mouseX-290,mouseY-290)), 180-(max(mouseX-290,mouseY-290))); //make left flower smaller

    } else if (dist(mouseX, mouseY, 300, 350) < 50) {
        if (dist(mouseX, mouseY, 300, 350) < 25) {
            fill(255,128,0); // flower petal is orange
        } else {
            fill(255,0,0) // flower petal is red
        }
        ellipse(300, 350, max(mouseX-250,mouseY-250), max(mouseX-250,mouseY-250));
        fill(255,255,0); // flower center
        ellipse(300, 350, max(mouseX-290,mouseY-290), max(mouseX-290,mouseY-290)); // make middle flower bigger

        fill(255,0,0); // flower petal
        ellipse(450, 350, 170-(max(mouseX-250,mouseY-250)), 170-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(450, 350, 100-(max(mouseX-290,mouseY-290)), 100-(max(mouseX-290,mouseY-290))); //make right flower smaller

        fill(255,0,0); // flower petal
        ellipse(150, 350, 170-(max(mouseX-250,mouseY-250)), 170-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(150, 350, 100-(max(mouseX-290,mouseY-290)), 100-(max(mouseX-290,mouseY-290))); //make left flower smaller

    } else if (dist(mouseX, mouseY, 150, 350) < 50) {
        if (dist(mouseX, mouseY, 150, 350) < 25) {
            fill(178,102,255); // flower petal is purple
        } else {
            fill(255,0,0) // flower petal is red
        }
        ellipse(150, 350, max(mouseX-250,mouseY-250), max(mouseX-250,mouseY-250));
        fill(255,255,0); // flower center
        ellipse(150, 350, max(mouseX-300,mouseY-300), max(mouseX-300,mouseY-300)); // make left flower bigger

        fill(255,0,0); // flower petal
        ellipse(450, 350, 170-(max(mouseX-250,mouseY-250)), 170-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(450, 350, 100-(max(mouseX-290,mouseY-290)), 100-(max(mouseX-290,mouseY-290))); //make right flower smaller

        fill(255,0,0); // flower petal
        ellipse(300, 350, 170-(max(mouseX-250,mouseY-250)), 170-(max(mouseX-250,mouseY-250)));
        fill(255,255,0); // flower center
        ellipse(300, 350, 100-(max(mouseX-290,mouseY-290)), 100-(max(mouseX-290,mouseY-290)));//make middle flower smaller
    }
    fill(255)
    ellipse(x-20,y-30,20,40); //bee wing
    ellipse(x-10,y-30,20,40); //bee wing
    fill(255,174,66);
    ellipse(x-15,y,50,25); //bee body
    fill(0)
    ellipse(x,y,5,5); // bee eye
    rect(x-55,y-5,20,10); // bee stinger
}

It took a while coming up with an idea but in the end I decided to do something fun and interactive like a game. When you move the bee close to the flower stems, a flower “blooms” while the others get smaller. I spent a long time making sure the sizes and numbers were correct but I’m happy with the end result.

initial idea sketch on whiteboard

LO 03: Computational Fabrication

This is a flower kiosk designed by the British firm Archio. The ripples in the timber facade of this kiosk are demonstrative of the shapes of flower petals when viewed under a microscopic lens. Archio constructed the kiosk by integrating both digital and handmade techniques. The nano details of the petals were scanned through the electron scanning technique. Computer programming would help the transformation of the scanned image into the fabrication of the timber ripples. This project was eye-catching for its visual attractiveness and practicality. The compact and simplistic design of the kiosk seemed to successfully match its usage as a flower shop. Realizing the process to the final design, the gentle curves resonate better with the concept of flowers. The creative process of capturing the interesting form of flower petals to wooden ridges aided by computer programs highlights how the computer can be used to generate both practical and creative outcomes.

https://www.dezeen.com/2014/01/23/undulating-timber-slats-surround-london-flower-kiosk-by-archio-ltd/