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.
Category: SectionD
Project 3: Dynamic Drawing
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
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.
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
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
//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
//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.
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.