Project 04 – Min Lee

sketch

function setup() {
    createCanvas(400, 300);
    background(0);

    var x1 = 0;
	var y1 = 0;
	var x2 = 400;
	var y2 = 300 / 2 - 50;

	//blue strings
	for (var i = 0; i < 40; i++) {
		stroke(88 - (i * 10), 157 - (i * 7), 242 - (i * 5))
		line(x1, y1, x2, y2)
		x1 += 20
		y2 += 10
	}

	x1 = 400;
	y1 = 0;
	x2 = 0;
	y2 = 300 / 2 - 50;

	//white strings
	for (var i = 0; i < 40; i++) {
		stroke(88 + (i * 2), 157 + (i * 7), 242 + (i * 5))
		line(x1, y1, x2, y2)
		x1 -= 20
		y2 += 10
	}

	x1 = 0
	y1 = 8
	x2 = 400
	y2 = 300 / 2 - 60

	//filler strings between blue and white
	for (var i = 0; i < 9; i++) {
		stroke(88 + (i * 10), 157 + (i * 7), 242 + (i * 5))
		line(x1, y1, x2, y2)
		y1 += 10
		y2 -= 10
	}

	x1 = 400;
	y1 = 0;
	x2 = 0;
	y2 = 300 / 2 - 50;

	//pink strings
	for (var i = 0; i < 40; i++) {
		stroke(88 + (i * 10), 157 + (i * 7), 242 + (i * 5))
		line(x1, y1, x2, y2)
		x1 -= 20
		y2 += 10
	}

	x1 = 400
	y1 = 300
	x2 = 0
	y2 = 300 / 2 + 50

	//beige strings
	for (var i = 0; i < 40; i++) {
		stroke(195 - (i * 3), 149 - (i * 5), 167 - (i * 3))
		line(x1, y1, x2, y2)
		x1 -= 20
		y2 -= 10
	}

	x1 = 0
	y1 = 300
	x2 = 400
	y2 = 300 / 2 + 50

	for (var i = 0; i < 40; i++) {
		stroke(195 + (i * 3), 149 + (i * 5), 167 + (i * 3))
		line(x1, y1, x2, y2)
		x1 += 20
		y2 -= 10
	}

	x1 = 400
	y1 = height - 8
	x2 = 0
	y2 = 300 / 2 + 60

	//filler strings between pink and beige
	for (var i = 0; i < 9; i++) {
		stroke(195 + (i * 3), 149 + (i * 5), 167 + (i * 3))
		line(x1, y1, x2, y2)
		y1 -= 10
		y2 += 10
	}

	//eye-top
	x1 = width / 2 - 20
	y1 = height / 2 - 10
	x2 = width / 2 + 20
	y2 = height / 2 + 10

	for (var i = 0; i < 21; i++) {
		stroke(121 - (i * 5), 157 - (i * 3), 120 - (i * 3))
		line(x1, y1, x2, y2)
		x1 += 2
		y2 += 1
	}

	//eye-bottom 
	x1 = width / 2 + 20
	y1 = height / 2 + 30
	x2 = width / 2 - 20
	y2 = height / 2 + 10

	for (var i = 0; i < 21; i++) {
		stroke(121 + (i * 5), 157 + (i * 3), 120 + (i * 3))
		line(x1, y1, x2, y2)
		x1 -= 2
		y2 -= 1
	}
}

function draw() {
}

This project was the most challenging for me because of my lack of experience with string art, but I still wanted to challenge myself to draw something. This is my attempted drawing of an eye with gradient colors. The pupil looks a lot like the Pied Piper logo.

Jonathan Liang – Project 4 – String Art

sketch

//Jonathan Liang
//jliang2
//section A


function setup() {
    createCanvas(400, 300);
    
   
}

function draw() {

	
//background
	background(200);
	for (var i = 1; i < 2400; i += 20) {
		strokeWeight(4);
		stroke('white');
		line((i * .25), 0, (i * .25), 300);
	}


//right eyebrow
	for (var i = 1; i < 65; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(0, -15);
		line((i) + 250, 60 - i / 4, (i * 1.1) + 250, 50 - i / 4);
		pop();
	}

	for (var i = 1; i < 45; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(15, -19);
		line((i) + 300, 38 + i / 1.5, (i * 1.25) + 300, 45 + i / 1.4);
		pop();
	}

//right eyelid
	for (var i = 1; i < 50; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(90, 50);
		scale(.7, .3);
		line((i) + 250, 60 - i / 4, (i * 1.1) + 250, 50 - i / 4);
		pop();
	}

	for (var i = 1; i < 50; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(90, 50);
		scale(.7, .3);
		line((i) + 300, 38 + i / 2, (i * 1.25) + 300, 45 + i / 2);
		pop();
	}

//left eyebrow
	for (var i = 1; i < 45; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(5, 0);
		line((i) + 50, 55 - i / 1.5, (i * 1.15) + 50, 54.5 - i / 1.75);
		pop();
	}

	for (var i = 1; i < 65; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(0, -15);
		line((i) + 100, 45 + i / 4, (i * 1.05) + 100, 35 + i / 4);
		pop();
	}

	

//left eyelid
	for (var i = 1; i < 40; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(10, 65);
		scale(.85, .3);
		line((i) + 50, 55 - i * 1.5, (i * 1.35) + 50, 53 - i * 1.5);
		pop();
	}

	for (var i = 1; i < 65; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(10, 50);
		scale(.85, .3);
		line((i) + 100, 45 + i / 4, (i * 1.05) + 100, 35 + i / 4);
		pop();
	}

	for (var i = 1; i < 40; i += 1) {
      line(i  * 1.1+ 115, 30, 1.5*i + 115, 60 + i/1.1);
    }

//right eye
	for (var i = 1; i < 35; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(50, 60);
		scale(.8, .65);
		line((i) + 250, 60 - i / 4, (i) + 250, 50 - i / 4);
		pop();
	}

	for (var i = 1; i < 75; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(35, 79);
		scale(.8,);
		line((i * 1.25) + 300, (i + 30) / 3, (i) + 300, (i + 38) / 2.5);
		pop();
	}	

	for (var i = 1; i < 35; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(50, 60);
		scale(.8, .65);
		line((i) + 250, 60 - i / 4, (i) + 250, 50 - i / 4);
		pop();
	}

	for (var i = 1; i < 20; i += 1) {
      push();
      translate(310, -25);
      line(1.5*i, 135, .25*i, 150);
      pop();
    }

//right eyeball
	for (var i = 1; i < 50; i += 1.05) {
		strokeWeight(1);
		stroke('black');
		line(i + 280, i * .25 + 95, i + 280, 110);
	}

	for (var i = 1; i < 25; i += 1) {
		strokeWeight(1);
		stroke('white');
		push();
		translate(138, 60);
		scale(.5, .5);
		line(i + 280, i * .25 + 95, i + 280, 110);
		pop();
	}

	strokeWeight(3);
	stroke('white');
	line(295, 100, 295, 100);

//left eye
	for (var i = 1; i < 45; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(20, 67);
		scale(.8);
		line((i) + 50, 55 - i / 1.25, (i * 1.15) + 50, 54.5 - i / 1.5);
		pop();
	}

	for (var i = 1; i < 65; i += 1) {
		strokeWeight(1);
		stroke('black');
		push();
		translate(10, 60);
		scale(.8, .65);
		line((i) + 100, 40 + i / 3, (i * 1.25) + 100, 34 + i / 3);
		pop();
	}

//left eyeball
	for (var i = 1; i < 50; i += 1.05) {
		strokeWeight(1);
		stroke('black');
		line(i + 80, 115 - i / 4, i + 80, 90);
	}

	strokeWeight(3);
	stroke('white');
	line(110, 100, 110, 100);

//mouth
	var mouthColor = mouseX / (400 / 225);

	for (var i = 1; i < 60; i += 1) {
      strokeWeight(1);
      stroke(255 - mouthColor, 25, 102);
      push();
      scale(.5, .5);
      translate(400, 350);
      line(i, 10, 3*i, 120);
      line(3*i, 120, 1.2*i, 240);
      pop();
     
    }

    for (var i = 1; i < 60; i += 1) {
      strokeWeight(1);
      stroke(255 - mouthColor, 25, 102);
      push();
      scale(.5, .5);
      translate(405, 601.5);
      rotate(PI, 3);
      line(i, 10, 3*i, 120);
      line(3*i, 120, 1.2*i, 240);
      pop();
  }

//pimple

	strokeWeight(6);
	stroke('black');
	line(300, 200, 300, 200);


}


My project was heavily influenced by the Michael Kalish and Oyler Wu Collaborative art installation reALIze. reALIze was a pop art portrait of boxing legend Muhammad Ali completely made of of cords and punching bags (so basically a line drawing with varying line thicknesses.) I thought I could apply a similar concept to make a line drawing of Marilyn Monroe. I thought that using the concept of cross hatching and increasing the number of lines could give thickness to an object. Although I deem my portrait to be unsuccessful, it was still a valuable opportunity to learn how to use loops.

Oyler Wu reALIze installation
initial conceptual sketches exploring how to hatch

Project 4 rrandell

sketch

/* Rani Randell
rrandell@andrew.cmu.edu
Project 4 
Section A */

function setup() {
    createCanvas(400, 300);
    background(210, 40, 230);
}

function draw() {

	for(var i = -40; i < 600; i += 20){
		strokeWeight(4);
		stroke(200, 50, 180);
		line(i, 150, 150, i);

	}
	for(var x = 0; x < 300; x += 15){
		strokeWeight(2);
		stroke(180, 20, 170);
		line(x, 200, 100, x);
	}
	for(var y = 0; y < 400; y += 10){
		strokeWeight(2);
		stroke(170, 70, 190);
		line(y, 0, 300, y);
	}
	for(var r = 60; r < 200; r += 5){
		strokeWeight(.5);
		stroke(210, 30, 150);
		line(r + 6, 0, 400, r);
	}
	for(var q = 80; q < 300; q += 7){
		strokeWeight(.1);
		stroke(255, 0, 100);
		line(q, 300, 5, q)
	}
	for(var e = 30; e < 600; e += 10){
		strokeWeight(1)
		stroke(250, 30, 200);
		line(200, e, e, 100)
	}

}

For my project I wanted to see how shades of pink interacted with each other and how the curves can frame parts of the canvas.

Katherine Hua – Looking Outwards-04

Niklas Roy created a generative sound synthesizer in 2010 that he named “Vektron Modular” that acts as a pocket sound performer.  It is a playback machine in which compositions are stored on microcontroller modules. The compositions can then be played. The modules in this are programmed so that the device is able to produce sound through algorithms stored within the modules. This sound synthesizer device interface was inspired by the PlayStation controllers.

Sound modules with algorithms stored within them

Through this algorithmic synthesizer, Niklas Roy is able to explore the binary structures within music and compare different rhythmic patterns and number systems for counting the beat. The user of the synthesizer can alter the parameters of the algorithm producing the sound by moving the joystick around. I think this project of his really peaked my interest because of how there is a visual experience that reflect the movements of the sound through computational algorithms.

Using the joystick to navigate through the computational soundscapes

“Vektron Modular” by Niklas Roy, 2010

Anthony Ra – Looking Outwards 04

close up on “Lenses”

“Lenses” is an interactive sound art installation by creative agency, Hush, in which the differently shaped prisms refract light in the direction that the user turns. When twisted on the walled surface, the refraction of the light and its composition is translated to a software and projects sound in real time. This allows a calm duality in light projection and soundscape.

the position of the prisms correlate with the direction in which light emits
user interacting with the installation

The idea from the designers was for an audiovisual installation to reflect the ideas between designers, artists, musicians, and technologists. The end result of this piece is allowing to integrate multiple different fields in crossing boundaries and creating something visually appealing and interacting for the user.

Video of “Lenses”

Liz Maday Project 4

liz m proj 4 

//Elizabeth Maday
//emaday@andrew.cmu.edu
//Section A
//Project 04

//big purple variables
var x1; 
var y1;
var x2;
var y2;
//orange variables
var a1; 
var b1;
var a2;
var b2;
// corner a variables
var c1;
var d1;
var c2;
var d2;
//corner b variables
var e1;
var f1;
var e2;
var f2;
//click variables
var jump;
var eyeSize;

function setup() {
	createCanvas(400, 300);
}

function draw() {
	background(0);
	strokeWeight(0.75);

    //big purple variables
    var x1 = 25;
    var y1 = height + 5;
    var x2 = 380;
    var y2 = 0;

    //big purple web
    for(i = 0; i < 25; i += .6) {
    	x1 += 5;
    	y1 -= 5;
    	x2 -= 4;
        y2 += 0;
    	stroke('purple');
    	line(x1, y1, x2, y2); 
    }

    //orange variables
        var a1 = 50
        var b1 = -40;
        var a2 = width - 200;
        var b2 = height + 20;

    //orange web
    for (i = 0; i < 37; i += .6) {
        a1 -= 3;
        b1 += 2;
        a2 += 5;
        b2 -= 0.5;
        stroke(255, 85, 0);
        line(a1, b1, a2, b2);
    }

    //corner a variables
    c1 = 0;
    d1 = height - 120;
    c2 = 70;
    d2 = height;

    //corner a web
    for (i = 0; i < 30; i += .5) {
    	c1 = 0
    	d1 = height - 120;
    	c2 -= 2;
    	d2 += 8;
    	strokeWeight(0.65);
    	stroke(0, 93, 68);
    	line(c1, d1, c2, d2);
    }

    //corner b variables
    e1 = -40;
    f1 = height - 90;
    e2 = 105;
    f2 = height;

    //corner b web
    for (i = 0; i < 30; i += .5) {
    	e1 += 1;
    	f1 += 2;
    	e2 = 105;
    	f2 += 5;
    	strokeWeight(0.65);
    	stroke(0, 93, 35);
    	line(e1, f1, e2, f2);
    }    

    //jump variable
    var jump = 0;
    var eyeSize = 2.5;

    if (mouseIsPressed) {
    	//stars
        for (i = 0; i < 100; i++) {
        
            fill('white');
            textSize(5);
    	    text('*', random(400), random(300));
        }

        //stars
        for (i = 0; i < 100; i++) {        
            fill('purple');
            textSize(12);
    	    text('*', random(400), random(300));
        }
        
        var jump = 20;
        var eyeSize = 4;
    }

    //spider variables
    var spiderX = 242 + (jump * 1.5);
    var spiderY = 235 + jump;
    var bodyWidth = 24;
    var bodyHeight = 20;
    //spider legs left
    noFill();
    stroke(255);
    arc(spiderX - bodyWidth/2, spiderY, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX - bodyWidth/2, spiderY + 4, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX - bodyWidth/2, spiderY + 9, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX - bodyWidth/2.5, spiderY + 10, bodyWidth * 0.5, bodyHeight * 0.5, PI - QUARTER_PI, 0 - QUARTER_PI);
    //spider legs right
    noFill();
    stroke(255);
    arc(spiderX + bodyWidth/2, spiderY, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX + bodyWidth/2, spiderY + 4, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX + bodyWidth/2, spiderY + 9, bodyWidth * 0.75, bodyHeight * 0.75, PI, 0);
    arc(spiderX + bodyWidth/2.5, spiderY + 10, bodyWidth * 0.5, bodyHeight * 0.5, PI + QUARTER_PI, 0 + QUARTER_PI);
    //spider body
    stroke(0);
    fill(0);
    ellipse(spiderX, spiderY, bodyWidth, bodyHeight);
    //spider eyes
    strokeWeight(eyeSize);
    stroke(255);
    point(spiderX - bodyWidth/4, spiderY);
    point(spiderX + bodyWidth/4, spiderY);
    //spider mouth
    strokeWeight(1);
    stroke(255);
    line(spiderX - bodyWidth/6, spiderY + 3, spiderX + bodyWidth/6, spiderY + 3);

}

When I started looking at examples of string art, I immediately thought of a spider web. I liked that I got to integrate a Halloween theme into this project. Make sure to click the image!

PO4 – Alexander Chen

sketch

//Alexander Chen
//Section A
//alchen1@andrew.cmu.edu
//Project 04

function setup() {
    createCanvas(400, 300);
}

function draw() {
	background(0);

    var x = 0;
    var y = 0;
    var x1 = width/2;
    var y1 = height/2;
    var x2 = width/2;
    var y2 = height/2;
    var x3 = width
    var y3 = height
    var x4 = width/2;
    var y4 = width/2;
 //white curves
    for (var i = 0; i < 50; i++) {

    //BOTTOM RIGHT//
        stroke('red');
        //bottom right corner (bigger gaps)
        line(x1, height, width, height - y1);

        stroke(67, 21, 32);
        //bottom right corner (smaller gaps)
        line(x2, height, width, height - y2);

    //TOP LEFT//
        stroke('red');
        //top left corner (bigger gaps)
        line(width - x1, 0, 0, y1);

      	stroke(67, 21, 32);
        //top left corner (smaller gaps)
        line(width - x2, 0, 0, y2);



    //MIDDLE "SPOTLIGHT"
    	stroke(255);
    	line(x3, 0, x, y2);

    //TOP RIGHT CORNER//
       	//top right corner (smaller gaps)
    	stroke('red');
    	line(x4, 0, width, y4);

    	stroke(67, 21, 32);
		//top right corner (bigger gaps)
    	line(x2, 0, width, y2);

        x1 = x1*1.08;
        y1 = y1*1.08;
        x2 = x2*1.025;
        y2 = y2*1.025;
    	x4 = x4*1.08;
        y4 = y4*1.08;
    }
}

LO4 – Alexander Chen

When it comes to music and technology, I definitely feel that this is an area where we will be headed in the near future. As a music major myself, this is an area where I definitely feel very strongly about. I think technology is going to play a bigger and bigger role in contemporary music and that is inevitable. However, whether or not that is a good thing is up for debate. I personally believe that it is a very good assistant. Like jazz guitarist, Pat Metheny states, it is definitely a good assistance. However, that being said, I do not believe that computers will be able to completely take over music (like a robot symphony orchestra) as author William Hochberg seems to suggest. This is because there is a level of human connection and feeling that computers will not be able to replicate. Unless there is AI that is advanced enough to “feel” I don’t think computers will ever be able to create real art. However, that being said, computers and algorithms writing music has been around for forever, and in that instance, I think it is slightly different and definitely valid.

https://www.theatlantic.com/entertainment/archive/2014/08/computers-that-compose/374916/

A piece written in the style of Bach.

Anthony Ra – Project-04-String-Art

sketch

/* Anthony Ra
Section-A
ahra@andrew.cmu.edu
Project-04 */

var x1;
var x2;
var y1;
var y2;

function setup() {
  createCanvas(400, 300);
  background (0);

}

function draw() {

  /* drawing rectangles increasing */

  for (var i = 0; i <= 500; i += 5) {

    stroke(50);
    strokeWeight(0.25);
    line(i, 0, i, height);


  }

  for (var i = 0; i <= 375; i += 10) {

  /* curve along the top-right corner */
  /* least sloped curve */
  stroke(168, 143, 225);
  line(i, 0, width + i, i);
  /* steeper curve */
  stroke(168, 143, 200);
  line(i, 0, width, i);
  /* slopiest curve along top-right corner */
  stroke(168, 143, 175);
  line(i, 0, width - i, i);
  /* reflection from the previous lines of code along y-axis */
  stroke(213, 142, 165);
  line(i, i, width - i, 0);
  /* long curve along bottom-left corner */
  stroke(295, 142, 165);
  line(0, i, i, height);
  /* long curve along top-left corner */
  stroke(200, 125, 165);
  line(i, 0, 0, height - i);
/* curves along the diagonal axis */
  stroke(154, 89, 140);
  line(i, i, 0, height - i);

  /* curve symmetry along x-axis */
  strokeWeight(0.25);
  stroke(200, 50, 140);
  line(width, height - i, -i, i);
  line(width, i, -i, height - i);

  /*
  strokeWeight(0.25);
  line(0, height - i, width, height);
  line(0, height - i, width, 0);
*/
}

}

The purpose of making all my strings a different shade of pink is for a calming effect for myself. Along with that is a bevy of symmetry along multiple axes; however some of these lines of code produces visually asymmetrical results. Combining those together, with an emotionally stressful week, this is a reminder for me that it id okay to be imperfect and to take my day to day life less seriously. Live my life.

Curran Zhang – Project 04 – String Art

sketch

/*Curran Zhang 
  curranz
  Project 4
  Section A
*/

function setup(){
  createCanvas(600,600);
  background(75);
  var rectH ;
  var rectW ;
  var smallH ;
  var x1 ;
  var y1 ;
  var x2 ;
  var y2 ;
  var x3 ;
  var y3 ;
  var x4 ;
  var y4 ;
  var l1 ;  
} 
var radius = 50;
var sx = 500;
var sy = 100;
var angle = 0;

function draw(){
  background(0);
   rectH = height - mouseY;
   rectW = rectH;
   smallH = rectH/4;
   x1 = width/2 - rectW/4;
   y1 = mouseY - 20;
   x2 = width/2 - rectW/4;
   y2 = mouseY -20;
   x3 = width/2 + rectW/4;
   y3 = mouseY - 20;
   x4 = width/2 + rectW/4;
   y4 = mouseY - 20;
   l1 = width/2 - rectW/2-4; 


//Bridge (RED) Lines
  for (var i = 0; i <= 600; i += 30) {
    stroke(40);
    line(0,i,width/2 - rectH  /2,mouseY );
    line(600,i,width/2 + rectH /2,mouseY );
  }

  for (var i = 0; i <= 600; i += 40) {
    stroke('red');
    line(0,i,width/2 - 10,mouseY );
    line(600,i,width/2 + 10,mouseY );
  }

  for (var i = 0; i <= 240; i += 40) {
    stroke('red');
    line(i,600,width/2 - 10,mouseY );
    line(i,0,width/2 - 10,mouseY );
  }

  for (var i = 360; i <= 600; i += 40) {
    stroke('red');
    line(i,600,width/2 + 10,mouseY );
    line(i,0,width/2 + 10,mouseY );
  }

//Bridge Structure
  for (var i = 0; i <= 100; i++) {
    stroke(230);
    x1 -= 4;
    if (x1 < width/2- rectW/2) {x1 = width/2- rectW/2};
    y1 += 30;
    line(x1,mouseY,width/2 - rectW/2,y1);
  }

  for (var i = 0; i <= 50; i++) {
    stroke(230);
    x2 += 4;
    if (x2 > width/2 ) {x2 = width/2 };
    y2 += 30;
    line(x2,mouseY,width/2,y2);
  }

  for (var i = 0; i <= 100; i++) {
    stroke(230);
    x3 -= 4;
    if (x3 < width/2) {x3 = width/2};
    y3 += 30;
    line(x3,mouseY,width/2 ,y3);
  }

  for (var i = 0; i <= 50; i++) {
    stroke(230);
    x4 += 4;
    if (x4 > width/2 + rectW/2) {x4 = width/2 + rectW/2};
    y4 += 30;
    line(x4,mouseY,width/2+rectW/2,y4);
  }

  for (var i = 50; i <= 200; i++) {
    stroke(230);
    l1+=4;
    if (l1 > width/2 + rectW/2) {l1 = width/2 + rectW/2};
    line(l1,mouseY-smallH,l1, mouseY);
  }

//Sun 
    for (var i = 0 ; i <360; i+=8) {
    push();
    translate(500, 100);
    rotate(radians(angle));
    stroke(255,200,21);
    line(0,0,50,0);
    line(0,0,radius * cos(radians(i)),radius* sin(radians(i)));
    pop();
    angle = angle + .01;
  }
}






At the beginning of the project, when I first thought of string art, I thought about the Brooklyn Bridge. The Brooklyn Bridge is supported through cables and create a wild variety of designs at different locations. Thus, I began making creating the drawing similarly to how to bridge itself is created.