/* Rachel Lee
Section E
rwlee@andrew.cmu.edu
Project- 04: String Art
*/
// global variables
var increment = 10; // spacing between different line segments
function setup() {
createCanvas(400, 300);
background(250, 155, 130);
}
function draw() {
strokeWeight(random (0.3, 1)); //randomizes stroke weights within
//curve and 'grid' elements (vertical and horizontal inner mesh layer)
// top right swoop
for (var a = 0; a < width; a += increment) {
stroke(240, 200, 90);
strokeWeight;
line(a, 0, width, a);
}
// bottom left swoop
for (var b = 0; b < height; b += increment) {
stroke(160, 190, 225);
strokeWeight;
line(b, height, 0, b);
}
// inner mesh layer top right
for (var c = 50; c < width; c += increment) { //curve starts at 50 pixels across screen
stroke(150, 200, 200);
strokeWeight;
line(c, 0, 300, c); //curve begins to taper at 300 pixels (width)
}
// inner mesh layer bottom left
for (var d = 50; d < height; d += increment) { // starts 50 pixels down left side of screen
stroke(150, 215, 120);
strokeWeight;
line(0, d, d, height);
}
// vertical inner mesh layer
for (var d = 80; d < height; d += increment) {
stroke(215, 215, 120);
strokeWeight;
line(d, 0, d, height); // lines begin at 80 pixels from left side of screen
}
// horizontal inner mesh layer
for (var e = 0; e < width; e += increment) {
stroke(210, 205, 80);
strokeWeight;
line(0, e, width, e);
}
}
For my String Art project, I was inspired by one of my favourite artists, Naum Gabo. I initially based my piece on his sculpture Linear Construction No. 1, but decided to add my own flair with color, and vary the types of shapes that were layered in the inner ‘mesh’ panels. While challenging, this project was really fun to experiment with– I especially liked seeing how randomising the stroke weight affected the dynamics of the piece.