gyueunp – Looking Outwards 04

Spectra (2004) is a series of installations created by the new media artist Ryoji Ikeda. It is produced using an array of xenon search lights that is accompanied by a sound system of a mathematically derived score. His work has been installed in multiple locations including London, Tasmania, and JFK International Airport, and the number of lights and scales vary depending on the sites. Its white lights and ultra-high frequency sound component present the viewers with an ethereal experience as they walk through the field of light. The scale of the work is one of its most noteworthy features; the xenon lights shoot straight up into the sky, allowing a broad range of audiences to see the work. I would love to experience the work’s symphony of ultra pure sine sound waves; its sound is just as beautiful and celestial as the captivating visuals.

Ryoju Ikeda’s website

More about Spectra

dnam-project-04

sketch

//Doo Won Nam
//Section B
//dnam@andrew.cmu.edu
//Project-04

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

function draw() {
    var unoY = 200; //y for triangle
    var unoX = 20; // x for triangle
    var yin = 37; //y increase
    var xin = 30; //x increase
//setting variables and x and y to change throughout code
    var x1 = 10;
    var y1 = 400;
    var x2 = 400;
    var y2 = 10;
    background(300, 100, 100); //pink
//start loop
    for (var i=0; i <200; i++) {
    strokeWeight(1);
    stroke(191, 50, 80); //dark pink
    line(i, i*10, i*5, 2); //line that goes across canvas

    stroke(mouseX, mouseY, mouseX); //changes color along mouse movement
    line(x1, i * yin, i * mouseX - 50, y1); //mouseX - 50 for increase of size
  	line(x2, i * yin, i * xin, y2);
  	line(xin * i, y1, x2, height - (i * mouseX) - 50);//size increase,right top
  	line(x1, height - (i * yin), i * x1, y2);

    stroke(100, 100, 180);
    line(unoX + 350, unoY, i/2 + 200, 400); //triangle at bottom
    line(200, unoY, i - 200, 0); //triangle at left top
	}
}

I made some of the lines (including the triangle which is just made out of bunch of lines). I changed some of the y increase to mouse commands to add interactions to the project. With the project, I wanted to create something like a light show that would change colors as well.

Ziningy1 – SectionC – Project 4 – String art

sketch

//Zining Ye 
//15104 lecture 1 recitation C
//ziningy1@andrew.cmu.edu 
//Project-04

var x=100;
var xstep=3; 

var y=1;
var ystep=3;

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

function draw() {
    background(0);
    angleMode(DEGREES);
    
    //the red twisted string curve 
    stroke(250,200,200);
    for (var i = 0; i < 400; i += 2) {
      
      line(3*i, height-2*i-y, 2*i, 1.5*i+20+y);
     
    }
    
    //the right and left green string curve 
    stroke(200,250,200);
    for (var i = 0; i<200; i += 2){
    
    line(x, 2*i,3*i,height/2+2*i+x);

    line(400-x,2*i,400-3*i,height/2+2*i+x);
    }
    
    //blue rotational string curve
    stroke(200,200,250);
    for (var i = 0; i<300; i += 2){
    line(x+i,300*sin(i),width-x-20-i,100*sin(i))
      
      
    }

    //adding the xstep and ystep will make the string start moving  
    //the conditonal makes the repeat between left and right, 

    y += ystep;
    if(y>300){
    y = -y
    
    }

    x += xstep;
    if(x>600){
    x= -x;
    
    } 



}
  













   


    







It is pretty abstract for me to create a string art image in my mind before coding it. I started by randomly test some of the combination of line positions, then I started to understand more intuitively how i would like to construct my art. I find adding the xstep, ystep very effective in making the string art in motion, which also create some sort of visual illusion that is pleasing to look at.

akluk – Section A – Looking outwards-04

The project that I have decided to write about is Liquid Percussion, by TRUMPIN or Gerhard Trimpin.

It is an acoustic sculpture that creates music based on the amount of rain. The water droplets will then fall and strike the various unique instrument at the bottom. The Artist has always been been very passionate about blending electronics, art and music together and this piece is no exception. I don’t think any specific algorithms are used in the creation of this project, since most of it is dependent on nature and rainfall. What really impresses me about this work is how its actually able to create such complex and interesting melodies and rhythms from this sculpture. You can see more of his work from the link below.

http://www.trimpinmovie.com/#/selectedworks/

abradbur-Project-04-String Art

stringart

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

function draw() {
    background(150, 53, 54);
    //black string
    for ( x = 0; x < 400; x += 20){
        stroke(84,1,3);
        line(x, 0, x * 1.5, 120);
        line(1.5 * x, 120, 1.2 * x, 300);
    }
    //light pink string
    for (y = 20; y < 300; y+= 50){
        noFill();
        stroke(254, 170, 171);
        bezier(0, y * 1.5 , 50, y, 20, y * .4, 400, y);
    }
    //strawberry string
    for (a = 0; a < 200; a += 10){
        noFill();
        stroke(210, 107, 108);
        bezier(0, a * 0.5, 30, a * 1.3, 300, a, 400, a *2);
        bezier(1.5 * a, 120, 1.2 * a, 300, 0, a, 40, 20);
        stroke(140, 123, 172);
        bezier(50 * a, 120, 1.2 * a, 300, 0, a, 40, 20);
        bezier(100 * a, 120, 1.2 * a, 300, 0, a, 40, 20);
    }
    //purple string
    for (b = 350; b < 400; b+= 20){
        bezier(300, 60, b, 40, 20, 10 * b, 120, 1.2 * b);
        bezier(30, 20, b, 40, 20, 10 * b, 120, 1.2 * b);
        bezier(60, 20, b, 40, 20, 10 * b, 120, 1.2 * b);
        bezier(100, 20, b, 40, 20, 10 * b, 120, 1.2 * b);
        bezier(170, 22, b, 40, 20, 10 * b, 120, 1.2 * b);
        bezier(250, 40, b, 40, 20, 10 * b, 120, 1.2 * b);
    }
}

With this project I had fun playing with bezier curves and seeing what resulted from different loops in the code. I didn’t exactly have a distinct form in mind, and I didn’t want to make one because I felt it would take away from my exploration of the piece.

Matthew Erlebacher Project-04 String Art

Line Art

// Matthew Erlebacher
// Section B
// merlebac@andrew.cmu.edu
// Project-04

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

    var verticalY = height
    // Creates variable for verticle lines
    var horizontalX = width
    // Creates variable for horizontal lines
    var graphSpace = 25
    // Creates space for grid lines
    var SpaceX = 10
    // Creates spacing between

    for (var verticleX = 25; // Gives a variable for the x-coordinate of each line
        verticleX <= 375; // Makes the lines stop at the end of the canvas 
        verticleX += graphSpace /* Increases the x-coordinate of each line */) {
        stroke(255);
        line(verticleX, 0, verticleX, verticalY);
    } // Creates white verticle lines across the canvas

    for (var horizontalY = 25; // Gives a variable for the y-coordinate of each line
        horizontalY <= 275; // Makes the lines stop at the end of the canvas
        horizontalY += graphSpace /* Increases the y-coordinate each line */) {
        stroke(255);
        line(0, horizontalY, horizontalX, horizontalY)
    } // Creates white horizontal lines across the canvas

    for (var greenX = 0; // Creates a variable for the green lines
        greenX < width / 2; // Sets a limit on the green lines
        greenX += SpaceX /* Increases the variable greenX */) {
        stroke(0, 255, 0);
        line(greenX /* Varies the first point */, height / 2, width / 2,
            height / 2 - 10 - greenX /* Makes it so the second point increases and is always over the midpoint */);
    } // Creates pattern of green lines

    for (var redX = 0; // Creates a variable for red lines
        redX < width / 2; // Sets a limit on the red lines
        redX += SpaceX /* Increases the variable redX */) {
        stroke(255, 0, 0);
        line(redX /* Varies the first point */, height / 2, width / 2,
            height / 2 + 10 + redX /* Makes it so the second point increases and is always under the midpoint */);
    } // Creates pattern of red lines

    for (var grayX = 400; // Creates a variable for the gray lines
        grayX > width / 2; // Sets a limit on the gray lines
        grayX -= SpaceX /* Decreases the variable grayX */) {
        stroke(125);
        line(grayX /*Varies the first point */, height / 2, width / 2,
            height / 2 + 410 - grayX /* Makes it so the second point increases and is always under the midpoint */);
    }
    
    for (var blueX = 400; // Creates a variable for the blue lines
        blueX > width / 2; // Sets a limit on the blue lines
        blueX -= SpaceX /* Decreases the variable blueX */) {
        stroke(0, 0, 255);
        line(blueX /* Varies the first point */, height / 2, width / 2,
            height / 2 - 410 + blueX /* Makes it so the second point increases and is always over the midpoint */);
    }

}

When I started this assignment I had no idea what to do for this project. However, after I reviewed the lecture notes and looked at some examples on the internet I eventually figured out what I wanted to do. I decided to have the lines create a diamond formation since it seemed visually appealing. I also decided to include grid lines in the background since it made the lines pop more.

Lrospigl – Looking Outwards – 04 (Bebot)

Bebot is robot synth. It is an iPhone app that allows you to control the effects and the scale, all while a little robot sings at you. While I really like the app, what interested me more is that it doesn’t have a limiting range. It really is up to the suer and how they take it. For example, this man tested the limits of Bebot to make an interesting and complicated song.

Since it’s a multitouch app, the writer of the code cannot assume how many fingers the user is actually going to use. In the video for example, the user here used up to 4 fingers at a time, something that the author took account for.

Official Apple App store bebot site .

rgroves – String Art – Section B

sketch

//Rebecca Groves
//rgroves@andrew.cmu.edu
//Section B
//Project 4 String Art

//sky - position of the ellipses
var x;
var y;

//spacing of the mountains
var m1 = 30;
var m2 = 25;
var m3 = 5; 

//lake spacing
var l = 1;
var k = 1.02; //constant to increase spacing by

//foreground hillsspacing
var f1 = 2;
var f2 = 2.2; 
var a = 260; //top of the back hill
var b = 310; //top of the middle hill
var c = 380; //top of the front hill

function setup() {
    createCanvas(600, 400);
    background(200, 210, 200);
    //sky
    for (var i = 0; i < 5000; i++) {
    	noStroke();
        ellipse(x, y, random(80), random(80));
        x = random(width);
        y = random((2/3) * height);
        if (dist(x, y, 150, 100) < 85) { //make the sky brighter near the sun
        	fill(random(230, 255), random(235, 255), random(225, 240), 75);
        } else {
            fill(random(180, 240), random(180, 255), random(220, 255), 50);
        }
    }
    noLoop(); // turn off looping
    //sun
    fill(255, 245, 180);
    ellipse(150, 100, 20, 20);
}

function draw() {
	//first row of mountains
	for (var i = 0; i < 35; i++) {
		stroke(210, 190, 180);
		strokeWeight(.25);
		line(200, 125, -300 + (i * m1), height);
		line(300, 130, -250 + (i * m1), height);
		line(475, 100, -50 + (i * m1), height);
	}

	//second row of mountains
	for (var i = 0; i < 50; i++) {
		stroke(160, 146, 160);
		strokeWeight(.5);
		line(50, 130, -400 + (i * m2), height);
		line(550, 140, 50 + (i * m2), height);
		line(350, 150, -600 + (i * m2), height);
		line(350, 150, 400 + (i * m2), height);
	}

	//front row of mountains
	for (var i = 0; i < 100; i++) {
		stroke(171 - i , 176 - i, 206 - i); //lighter on the side facing the sun
		strokeWeight(1);
		line(120, 165, -150 + (i * m3), (2/3) * height);
		line(450, 140, 200 + (i * m3), (2/3) * height);
		//reflections in the water
		stroke(120, 125, 170, 70);
		line(120, (4/3) * height - 165, -150 + (i * m3), (2/3) * height);
		line(450, (4/3) * height - 140 , 200 + (i * m3), (2/3) * height);

	}

	//lake
	for (var i = 0; i < 500; i++) {
		stroke(0, 255, 255);
		strokeWeight(.25);
		line(0, (2/3) * height + l, width, (2/3) * height + l);
		l = k * l; //geometrically increase the distance between lines
	}

	//foreground
	for (var i = -50; i < 55; i++) {
		strokeWeight(1);
		stroke(179 - (2 * i), 177 - (2 * i), 75); //brighter on the side facing the sun
		var m = map(i, -50, 40, -1, .5);
		line(375 + ((i + 50) * f2), 280, 420 + ((i + 50) * f1), a);
		a = a + m; //since m goes from negative to positive, this allows the hill to 
		           //slope upward and then downward
	}
		
	for (var i = -80; i < 60; i++) {
		strokeWeight(1);
		stroke(179 - (2 * i), 177 - (2 * i), 75);
		var m = map(i, -80, 60, -1, .5);
		line(310 + ((i + 80) * f2), 330, 350 + ((i + 80) * f1), b);
		b = b + m;
	}

	for (var i = -150; i < 100; i++) {
		strokeWeight(1);
		stroke(179 - (4 * i), 177 - (4 * i), 75);
		var m = map(i, -150, 100, -1, .5);
		line(210 + ((i + 150) * f2), height, 250 + ((i + 150) * f1), c);
		c = c + m;
	}
}

I liked how creating images with lines instead of solid shapes allows for a lot more visual interest. Without even trying to you can wind up with gradients and cool patterns from overlapping lines.

katieche – looking outwards 04

shimon the robot

Shimon is a robot first of his kind created at Georgia Institute of Technology. Unlike some robots who just make beeping noises and call that a song, Shimon actually has four arms and knows how to play traditional, analog instruments. He has been programmed with over 5,000 songs, two million motifs, riffs, and licks. Particularly, he specializes in the marimba. A lot of robots can play preprogrammed songs, as did Shimon for the beginning of his lifetime, but what’s fascinating about Shimon is that he now is able to play original compositions! Researchers are still working on how to improve his musical abilities, as current original compositions are a little sporadic since Shimon can’t think in long term structures as well. If you pay attention to his song, it seems like the music is produced in short bursts that complete the song.

akluk-Project4-Section-A-StringArt

sketch
It was fun and exciting to create curves with straight lines and was challenging to figure out the correct values

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

function draw() {
	background(0)

	//establishing initial points and step sizes as variables
	var x1 = 0;
	var y1 = height;
	var x2 = 0;
	var x3 = 0;
	var y3 = 0;
	var x_step1 = width/20;
	var y_step1 = height/40;
	var x_step2 = width/15;
	var x_step3 = width/60;
	var y_step3 = height/60;


	//creates creates the blue - white curves in the center of the canvas
	for (var j = 0; j < 30; j++){
		stroke(color(240-8*j,240-8*j,255));
		line(x2,height/2,width,height/2 - j*y_step3);
		line(0,height/2 + j*y_step3,width-x2,height/2 );
		x2 += x_step2;
	}

	
	//creates green yellow gradient curve on the lower right corner
	for (var i = 0; i < 20; i++){
		stroke(color(50+10*i,150,14))
		line(x1,height,width,y1);
		x1 += x_step1;
		y1 -= y_step1;

	}

	//creates red "line" generated ellipse
	for (var k = 0; k < 30; k++){
		stroke(color(240-8*k,0,0));
		line(0,y3,x3,height/2);
		line(0,height/2-y3,x3,0);
		line(width/2,y3,width/2-x3,height/2);
		line(width/2,height/2-y3,width/2-x3,0);
		x3 += x_step3;
		y3 += y_step3;
	}
}