Xu Xu – Looking Outwards – 04

For this week’s looking outwards, I discovered an audiovisual installation called “Multiverse” created by fuseworks. This installation discovers the evolution of possible universes through the generation of haunting visual graphics and sound and strives to define the theorization of the multiverse: where infinite numbers of universe co-exist parallel outside space-time.

In the video, it presents the installation almost like a digital painting, which produces beautiful visuals accompanied by the audio. The installation explores and tries to imagine the birth/death of infinite parallel universes, and this “narrative” is based on American theoretical physicist Lee Smolin’s scientific theory. From the fall of black holes comes their decedents, the parameters and physical laws constantly tweaked and modified. This installation tries to create intimacy between the art and the viewer, yet creating two hierarchies: an impermanent, vulnerable human figure vs a vast, impenetrable universe.

The artworks are completely generated by the software developed in openFrameworks, which interacts with the generative system soundtrack of Ableton Live and Max/MSP. In the simulation, the physical laws are constantly being adjusted, which leads to the origin of a “new universe”. After thirty minutes, the previous sequences “evolve” and provide infinite new various outcomes. The creator of this installation explains: “Particularly, the particles react with each other and with the surrounding space, changing the information perceived by modifying a vector field that stores the values within a voxel space. The strategy involved the massive use of shader programs that maximize the hardware performance and optimize the graphics pipeline on the GPU.”

I really admire the creativity of this installation, but what amazes me is that these beautiful visuals are generated purely from the software. Creators provide the framework and allow the program to develop freely from there to present its creativity. I wish I have the chance to see the installation in real life.

Ghalya Alsanea – Project 04 – String Art


sketch

//Ghalya Alsanea
//Section B
//galsanea@andrew.cmu.edu;
//Project-04

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

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

    //make x and y depend on mouse postition
    var x = constrain(mouseX, 0, width);
    var y = constrain(mouseY, 0, height);

    //create the mirrored x and y positions
    var ix = width - x;
    var iy = height - y;

    //create 4 parabolas mirroring each other to make an X like shape 
    //each parabola spans the width and height incrementally
    for (var i = 0; i <=width; i += 10) {
        //as the lines draw, make them darker proportionally
        stroke(255 - i / 2);

        line(i, iy, ix, height - i);
        line(width - i, y, x, i);
        line(width - i, iy, x, height - i);
        line(i, y, ix, i);
    }
    
    //same thing but on the inside of existing shape
    for (var i = 0; i <=width; i += 10) {
        //as the lines draw, make them go form red to darker proportionally
        stroke(255 - i / 2, 0 , 0);

        line(width - i, y, ix, height - i);
        line(i, iy, x, i);
        line(width - i, iy, ix, i);
        line(i, y, x, height - i);
    }
    
}

I wanted to create parabolic shapes that moved based on your mouse location proportionally. I thought it would be interesting to also have the color gradient as the lines were drawn.

This is a process sketch showing how I was thinking about the two ‘X’ shaped parabolas and the variable’s relationship with one another.

Sean Meng-Project 04-String Art

hmeng assignment-03-A

//Sean Meng
//Section C
//hmeng@andrew.cmu.edu
//Project-03-String-Art

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

function draw() {
	background(0);
    
    for(var i = 0; i <= 400; i += 10){
 //the darkest blue lines
        stroke(0, 0, 255);
    	line(i, 0, 400, i);
//second layer of blue lines with lighter color
    	stroke(100, 100, 255);
    	line(i, 50, 400, i);
//third layer of blue lines with ligher color
    	stroke(150, 150, 255);
    	line(i, 100, 400, i);
//the lightest blue lines
    	stroke(200, 200, 255);
    	line(i, 150, 400, i);
 //the darkest red lines
    	stroke(255, 0, 0);
    	line(i, 300, 0, i);
 //second layer of red lines
    	stroke(255, 100, 100);
    	line(50, i, i, 300);
 //third layer of red lines
    	stroke(255, 150, 150);
    	line(100, i, i, 300);
 //the darkest blue lines
    	stroke(255, 200, 200);
    	line(150, i, i, 300);
    }
    
}

In this project, I intended to create a wavy graphic using string art form. I was also experimenting with visual readability and hierarchy by adding different tones of color and complementary colors to the graphics.

Ellan Suder – Project 04 – String Art

I first started with drawing several parabolic curves in function draw(). Then after making a shape I liked, I moved it over into its own function like the owl example and used another two for loops to replicate it with different x,y values.

The original shape

string art

/*
Ellan Suder
15104 1 D
esuder@andrew.cmu.edu
Project-04
*/

//I first started with drawing several parabolic curves in function draw().
//Then after making a shape I liked, I moved it over into its own function 
//like the owl example and used another two for loops to replicate it with different x,y values.

var t = 0;

function setup() {
    createCanvas(400, 300);
    t = 0;
}

function draw() {
    background(0);
  
    //changes color based on mouseX, mouseY
    var r = map(mouseX, 0, width, 0, 230);
    var g = map(mouseY, 0, height, 0, 230);
    var b = 230 * noise(t+20);
    stroke(r,g,b);
    t = t + 0.05;
    
    //determines x and y of shapes. I made them overlap each other
    for (var y = -height/2; y < height*2; y += height/2){ 
        for (var x = -height/2; x < width*2; x += height/2) {
            shape(x, y);
        }
	}		
}

function shape(x,y) {
	var n = 20;
    var linespacing = height/(n*2);

    push();
    scale(.5);
    translate(x,y);

	for(var i = 0; i<n; i++)
  {
    strokeWeight(1);
    //stroke("red");
    line(0,0+linespacing*i, //x1, y1. begin at 0,0 and go down linespacing
         0+linespacing*i,height/2); //x2, y2. point goes right along height/2 linespacing each time

    //stroke("black");
    line(height,0+linespacing*i, //x1, y1. begin at height and go down
         height-linespacing*i,height/2); //x2, y2. begin at height,height/2 and go left

    //stroke("green");
    line(height/2,height/2+linespacing*i, //begin at height/2,height/2 and go down
         height-linespacing*i,height/2); //begin at height,height/2 and go left
 
    //stroke("purple");
    line(height/2,height/2+linespacing*i, //begin at height/2,height/2 and go down
         0+linespacing*i,height/2); //begin at 0,height/2 and go right

    //stroke("yellow");
    line(0,0+linespacing*i, //begin at 0,0 and go down
         height/2-linespacing*i,0); //begin at height/2,0 and go left

    //stroke("blue");
    line(height,0+linespacing*i, //begin at height,0 and go down
         height/2+linespacing*i,0); //begin at height/2,0 and go right

    //stroke("brown");
    line(height,height/2+linespacing*i, //begin at height,height/2 and go down
         height-linespacing*i,height); //begin at height,height and go left

    //stroke("orange");
    line(0,height/2+linespacing*i, //begin at 0,height/2 and go down
         0+linespacing*i,height); //begin at height/2 and go right
    }
    pop();
}

Taisei Manheim – Project 04 – String Art

sketch

//Taisei Manheim
//Section C
//tmanheim@andrew.cmu.edu
//Assignment-04

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

function draw() {
    var x = 0; //used to define color
    background(0);
    strokeWeight(1);
    stroke(255);
    for (var i = 0; i < 400; i+=10){
        stroke(255);
        line(0, height - i, i, 0); //top left curved lines
        
        line(i, i, width, height -i); //top half of bottom right curved lines
        line(i, i, width - i, height); //bottom hald of bottom right curved lines

        //changes lines from white to magenta depending on mouse location
        if (mouseX > width / 2) {
            x = 0;
        }
        if (mouseX <+ width / 2) {
            x = 255;
        }

        //lines that turn magenta
        stroke(255, x, 255);
        line(0, height, i, i); //bottom left
        line(width, 0, i, i); //top right

        //sky blue lines
        stroke(135, 206, 235);
        line(width, height, 0, i); //bottom half
        line(0, 0, width, i); //top half
    }

}

When creating this I tried to create a fairly balanced composition with some areas having a denser amount of lines and some areas having not as many lines. I wanted to have some element of color change in order to change the way you perceive the drawing.

Timothy Liu — Looking Outwards — 04

This is Weather Thingy, a “Real-Time Climate Sound Controller.”

For this week’s Looking Outwards on Sound Art, I examined a work called “Weather Thingy” by Adrien Kaeser at ECAL’s Media and Interaction Design Unit. At first glance, the piece seems whimsical, fun, and even a bit weird. But upon further inspection, Kaeser’s work has a striking level of complexity that allows it to interact with its surrounding environment and produce sound and art.

Another photo of Weather Thingy in a different setting.

At its most basic core, Weather Thingy is designed to convert weather signals into musical sound. Three climate sensors detect rain, precipitation, and wind speed and translate those into parameters using an interface equipped with a brightness sensor. Using Arduinos and other computational components, Kaesar fitted Weather Thingy with the ability to react to climate changes in real time with different types of sounds. This is one of the things that really stood out to me; most sound art reacts to sound and produces a visual effect, but Weather Thingy reacts to the climate and produces sound. In other words, the piece is a real-time, reactionary piece of art.

Kaesar mentions that he hopes Weather Thingy can serve as an inspiring tool to help musicians come up with song ideas. It seems that the sheer randomness of wind, precipitation, and climate can lead to some pretty incredible and unique sound effects. In reading about the mechanics of Weather Thingy that are mentioned in the article, I noticed a few clear connections to programming languages. The conversion of weather cues to parameters allows them to be called by Arduinos in Weather Thingy, essentially serving as a function that generates sound. It’s amazing what computational art can create with sound!

Sources:

This is the article I referenced for my Looking Outwards this week.

Fanjie Mike Jin – Project 04 – String Art

sketch3

//Fanjie Mike Jin
//Section C
//fjin@andrew.cmu.edu
//Project-04

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

function draw() {
    background(0);

    for (var i = 0; i < 401; i += 10){
 //top left curved lines
      stroke(179, 223, 242);
      line(i, 300, 0, i);
 //top left curved lines
      stroke(179, 183, 242);
      line(400 + i, 300, 0, i);
 //bottom right curved lines
      stroke(115, 236, 235);
      line(i, 300, 0, i / 2);
 //bottom right curved lines
      stroke(179, 223, 242);
      line(400 - i, 300, 400, i / 2);
//top right curved lines
      stroke(179, 223, 242);
      line(400 - i, 300, 400, i);
//top right curved lines
      stroke(179, 183, 242);
      line( - i, 300, 400, i);
//bottom left curved lines
      stroke(179, 223, 242);
      line(i , 0, 400, i * height / width / 2);
//bottom left curved lines
      stroke(115, 236, 235);
      line(i, 0, 400, i * height / width);
//top right curved lines
      stroke(115, 236, 235);
      line(400 - i, 0, 0, i * height / width / 2);
//top right curved lines
      stroke(115, 236, 235);
      line(400 - i, 0, 0, i * height / width);
// center line
      stroke(115, 236, 235);
      line(i ,0 ,0 ,i);
// center line
      stroke(115, 236, 235);
      line(400 - i ,0 ,400, i);
    }
}

In this project, I was interested in using a repetitive pattern to create an interesting composition. I was trying to use different curved lines to show depth of the layers and ultimately create a strong sense of different hierarchies.

Mari Kubota- Looking Outwards- 04

The project Storm Room (2009) by Janet Cardiff and George Miller is a mixed media installation that mimics the sounds and visuals of a room on a stormy day. The installation art lasts for around ten minutes. It was created for the Echigo Tsumari Art Triennial and is located in a deserted dentist’s office near Doichi, Japan. The intention of the installation art was to recreate the feeling of danger when taking refuge from a storm. The flow of water, the lights, the strobes, and the fans are controlled by a computer while the audio is projected out of 8 speakers throughout the room to create an immersive experience. Janet Cardiff’s style is expressed in this work because of the care that went into the sound of the installation.

Storm Room (2009)

This project attracted my attention because a lot of different elements that engage different senses were used in order to recreate the experience of a storm. The computer program that controlled the water, lights, strobes, and fans is also of interest to me because of the way it randomizes the experience each time.

Fanjie Mike Jin—Looking Outwards—04

This sound installation is titled “Chijikinkutsu”. It is created by a Japanese artist, Nelo Akamatsu. The name of the title is a sound installation ornament fro traditional Japanese gardens in the 16th century. In “Chijikinkutsu”, sewing needles are floating on water in glass tumblers so they are affected by the magnetism field and would turn like a compass. When electricity is applied to the coil, the needle would hit the glass and create a very delicate sound. This a very minimal approach but with this few elements, the sound it generates are rather complex and colorful. I particularly appreciate this project in that it uses the magnetism as the input parameter and as the magnetism field would be different in different parts of the world, the resultant sound installation would be different.

Video featuring the sound performance
view of the installation
from http://www.everydaylistening.com/articles/tag/glass

Joanne Chui – Project 04 – String Art

sketch

// Joanne Chui
//jchui1@andrew.cmu.edu
// Assignment-04-A
// Section C 

function setup(){
	createCanvas(400, 300);
	background("black");
}


function draw(){
	for(let i = 0; i < 25; i++){
		ay = i * 6;
		bx = 200 - (i * 8);
		cy = i * 12;
		dx = i * 16;
		stroke(220, 255, 150);
		strokeWeight(.1);
		//"quad1"
	 	line(200, ay, bx, 150);
	 	//"quad2"
	 	line(200, ay, 200 + bx, 0);
	 	//"quad3"
	 	line(400, cy, 400 - bx, 0);
	 	line(200, 150 + ay, 200 + bx, 0);
	 	line(200, 150 + ay, 400 - bx, 300);
	 	//"quad4"
	 	line(0, 150 + ay, bx, 150);
	 	line(dx, 300, 400, 300 - cy)
	 	line(200, ay, bx, 300);
	}
}

I created this image based on the idea of fabric, and trying to make the lines appear as a continuous surface. This is why there aren’t any endpoints floating in the canvas, and everything is connected.