Charmaine Qiu – Project 04 – String Art

sketch

/* Charmaine Qiu
   charmaiq@andrew.cmu.edu
   Section E
   Project 04 String Art*/
var spacing = 10;
var gcolor = 34;
var bcolor  = 140;
function setup() {
    createCanvas(400, 300);
}

function draw() {
  //set background color and initial stroke color of center piece
    background(0, 13, 255);
    stroke(255, gcolor, bcolor);
  //the center piece that follows the mouse
    for(var i = 0; i < 30; i++){
  //changes color when moving between left and right side of canvas
      if(mouseX > width / 3){
        stroke(150, gcolor, bcolor);
      }
      if(mouseX > 2*width / 3){
        stroke(50, gcolor, bcolor);
      }
  //the center piece drawn with a spacing variable that sets distance between two lines
      line(mouseX, i * spacing, width, height / 2);
      line(0, height / 2, mouseX, i * spacing);
    }
  //line art that surrounds the opposite corners of canvas
    for(var i = 0; i < width; i += 10){
  //yellow lines
      stroke(218, 245, 66);
      line(i, 0, width, i / 2);
      line(0, i, i /2, width);
  //orange lines
      stroke(255, 162, 0);
      line(width, height - i, width - i, 0);
      line(0, i / 2, i, height);
    }


}

It was challenging to figure out how to efficiently create the lines on canvas. I tried to incorporate an interactive aspect towards my project, and it was fun to explore with. I now have a better understanding of how digital line art is created and the thought process behind it.

Shannon Ha – Looking Outwards – 04

test pattern [N 12] at store studios.

Ikeda works with music in a variety of “raw” states, such as sine tones and noise, and explores a range of frequencies that are often close to the limit of what humans can hear. I appreciate how he is able to push the sensorial boundaries of humans through his art by using sound patterns to heighten the audiences’s awareness of what they can and cannot hear.  

The sounds that he produces may come across as random, but he actually combines a variety of discrete tones and noises, in addition to beat patterns to create a drumming effect. He matches the frequency of the sound to the visual installation of strobe lights on the floor of Store Studios to create an overwhelming environment.

Claire Yoon-LookingOutwards -04

Meandering River-audiovisual art installation

Meandering Rivers is an multi channel video installation that premiered at Funkhaus, Berlin on 7/28 to 7/30. It is suspended on multiple screens inside the Sound Chamber’s concrete cavern. There is music, composed by an A.I. playing that shifts in tone when the river and surface patterns shift while this video is playing which, further adds on movement through sonic sound and visuals. A nice harmony is created . between the sound and imagery that creates an “intense emotional journey” through looking at this installation.

This installation uses the vibrancy and dynamic textures on this painting to represent natural forces that have actually shaped these landscapes over time. Although the sound is not verbally communicating anything there is depth and symbolism to the sound that helps conveys the message better as well.

vibrant painterly soundscapes creating rhythmic movement of rivers

YouieCho-Project-04-String-Art

sketch

/*Youie Cho
  Section E
  minyounc@andrew.cmu.edu
  Project-04-String Art*/

  var a = 7
  var b = 1

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

  function draw() {
      background(255, 179, 0);
      //pink sequence
      for (var i = 1; i < 1000; i++) {
          stroke(255, 69, 128);
          line(mouseX, i * a* mouseY / 100, i * a, height / 4);
      }
      //black sequence and rotation
      for (var i = 1; i <= 1000; i++) {
          stroke(0);
          rotate(90);
          line(mouseX, i * mouseY / 50, i * b, height / 2);
      }
      //yellow sequence and rotation
      for (var i = 1; i <= 1000; i++) {
          stroke(255, 215, 69);
          rotate(180);
          line(mouseX, i * mouseY / 25, i * a, height / 1.333333);
      }
      //purple sequence and rotation
      for (var i = 1; i <= 1000; i++) {
          stroke(174, 82, 255);
          rotate(270);
          line(mouseX, i * mouseY / 10, i * b, height);
      }
  }

I tried to play around with changing ratios to generate different sequences on different parts of the canvas, and rotated them to create complexity. I tried complex lines because interesting shapes and patterns can be generated through the movement of the mouse. It was challenging to understand the mechanism of loop, but I enjoyed how dynamic it could be.

Crystal-Xue-Project-04

sketch-298.js

//Crystal Xue
//15104-section B
//luyaox@andrew.cmu.edu
//project-04

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

function draw() {
    background(0);
    stroke(255);

    //set constrain to the mouse location
    var x = constrain(mouseX, 0, width);
    var y = constrain(mouseY, 0, height);

    //set up color gradient palette
    let from = color(102, 153, 161);
    let to = color(180, 129, 187);
    let interA = lerpColor(from, to, 0.15);
    let interB = lerpColor(from, to, 0.3);
    let interC = lerpColor(from, to, 0.45);
    let interD = lerpColor(from, to, 0.6);
    let interE = lerpColor(from, to, 0.75);

    //draw string geometries
    for (var i = 0; i <= width; i = i + 5 ) {

        //background dynamic grid change along mouse indicator
        stroke(from);
        strokeWeight(0.7);
        line(i, 3 / 4 * i, i, y);
        stroke(interA);
        line(i, 3 / 4 * i, x, 3 / 4 * i);

        //first pair of curves controlled by mouse location
        stroke(interB);
        line(i, 3 / 4 * i, width - i, y);
        stroke(interC);
        line(i, 3 / 4 * i, x, height - 3 / 4 * i);

        //second pair of curves opposite of the first pair
        stroke(interD);
        line(i, height - 3 / 4 * i, width - i, y);
        stroke(interE);
        line(i, height - 3 / 4 * i, x, 3 / 4 * i);

        //drawing the mouse indicator
        stroke(to);
        strokeWeight(2);
        line(x, y, width - i, y);
        stroke(to);
        strokeWeight(2);
        line(x, y, x, height - 3 / 4 * i);

     }
}

For this project, I was trying to mimic the abstract motion of the weaving process. The mouse indicator is the shuttle of a loom which shows the x and y coordinate positions. The background grid is the unwoven warp yarn showing the parallel lines. And the curves are the woven pieces. I also experimented with the gradient colors in p5js.

Charmaine Qiu-LookingOutwards 04

The Prelude in ACGT is a project created by Pierry Jaquillard where he used his own DNA to generate music by utilizing the chromosomes 1 to 22 and XY. Believing that DNA is the core structure of nature, Pierry wanted to experiment with his own personal code.

The project was created through JavaScript, and he generated midi signals that was passed into Ableton Live, a music sequencer, to play the sounds. The project was displayed on 4 ipads and a phone, where the phone is used to change tempo and arrangement. I found this project really interesting since it celebrated the nature of human beings and creating art through biology could become a direction of art in the future. 

A video explaining the Prelude in ACGT project

Austin Garcia – Looking Outwards – 04 – Section C

The Dolby Gallery by Leviathan

The Dolby Gallery installation by Leviathan utilizes sound to alter visual environments and art forms. The colors displays in this gallery are generated from famous visual artworks, reduced to primal colors and fragmented in order to create a flowing, abstract visual language. This amalgam of visual data is then transformed by the sounds played through nearby speakers. As these visual patterns flow and shift  to the music, you are enveloped in the soundscape – your audio and visual sensors stimulated by your surroundings. This allows for a beautiful conversation between visual art and sound, both of which are often abstracted from one another.

The Dolby Gallery

Jasmine Lee – Project 04 – String Art

strings

//Jasmine Lee
//Section C
//jasmine4@andrew.cmu.edu
//Project-04 (String Art)

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

function draw() {
    //black background
    background(100);
   
    //left(white) half of the vertical lines
    for (var a = 0; a < 151; a += 2) {
        stroke(255);
        line(a, mouseY, a, mouseX);
    }

    //right(black) half of the vertical lines
    for (var b = 150; b < 301; b += 2) {
        stroke(0);
        line(b, mouseY, b, mouseX);
    }

    //top(white) half of the horizontal lines
    for (var c = 0; c < 201; c += 2){
        stroke(255);
        line(mouseX, c, mouseY, c);
    }

    //bottom(black) half of the horizontal lines)
    for (var d = 200; d < 401; d += 2){
        stroke(0);
        line(mouseX, d, mouseY, d);
    }

    //creates white "plus" sign 
    fill(255);
    rectMode(CENTER);
    noStroke();
    rect(150, 200, 20, 200);
    rect(150, 200, 200, 20);

    //creates the curves in all four corners
    for (var e = 0; e < 300; e += 2) {
        stroke(0);
        //top left corner
        line(0, height - e * 1.5, e, 0);
        //bottom right corner
        line(e, height, width, height - e * 1.5);
        stroke(255);
        //top right corner
        line(width, height - e * 1.5, width - e, 0);
        //bottom left corner
        line(width - e, height, 0, height - e * 1.5);
    }

}

For my string art, I wanted to create a piece with a dystopian feeling to it. I decided to use a strong composition, with a symbol right in the middle of the canvas, and animated strings that give a disoriented effect to the viewer.

William Su – LookingOutwards – 04

Musical Fire Table: https://www.youtube.com/watch?v=2awbKQ2DLRE

Description from the video: The pressure variations due to the sound waves affect the flow rate of flammable gas from the holes in the Pyro Board and therefore affect the height and colour of flames. This is interesting for visualizing standing wave patterns and simply awesome to watch when put to music.

While the people that made this didn’t really intend or utilize this as “art”, It is a performance that is really interesting to look at despite how simple it is to get the fire table to work. While i’m not sure if there is any computational stuff behind it (most of it involves simply physics and running standing waves through the gas pipes), I can see this being scaled up, like in a stadium or stage performance with the pyrotechnic stuff that is commonly found there.

CJ Walsh – Project 04 – String Art

sketch

// CJ Walsh
// Section D
// cjwalsh
// Project-04

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

function draw() {
	background('#8B9AF2');
	var xstep = 10;
	var ystep = 10;
	var xpos = 0;
	var ypos = 0; 
	var x1, y1;

	for (i=1; i < 40; i++) {
		x1 = xpos + xstep;
		y1 = ypos + ystep;

		// center red 
		stroke('#991D3E');
		line(200, y1, x1 + 140, height);
		stroke('#991D3E');
		line(width-200, y1, width - x1 - 140, height);

		// center pink 
		stroke('#FFB3FF');
		line(200, y1, x1 + 70, height);
		stroke('#FFB3FF');
		line(width-200, y1, width - x1 - 70, height);

		// lower large curves
		stroke('#1C4E7C');
		line(0, y1, x1, height);
		stroke('#1C4E7C');
		line(width, y1, width - x1, height);

		// center black 
		stroke('black');
		line(width-200, y1, width - x1, height);
		stroke('black');
		line(200, y1, x1, height);

		// top large curves 		
		stroke("#090170");
		line(0, y1, width-x1, 0);
		line(x1, 0, width, y1);

		// lines controlled by mouse movement 
		stroke("white");
		line(x1, 0, mouseX, mouseY);
		line(x1, height, mouseX, mouseY);

		xpos = x1;
		ypos = y1;
	}
}

For creating my string art I just wanted to experiment with different ways of making and placing my curves. After playing around with the placement and giving a lot of attention to symmetry, I wanted to create a fun color palette. I think it makes it a lot more fun to interact with. At the end of my project, I wanted to include an interactive movement element, so I added some lines that follow the position of the mouse and create fun patterns when overlapping with the curves.