KadeStewart-Project04-StringArt

sketch

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

var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 300;
var lim = 101;
var quality = 1;

function draw() {

	background(255);

	//change the number of lines (the quality of the curves)
	lim += quality;
	if (lim == 100) {
		quality = -quality;
	} else if (lim == 150) {
		quality = -quality;
	}
	//draw 8 curves
	for (c = 1; c <= 8; c++) {
		//draw "lim" number of lines in each curve
		for (i=0; i<=lim; i++) {
			x1 = (width/lim) * i;
			x2 = (width/lim) * (lim - i);
			y1 = x2;
			y2 = 50 * c;
			//make the curves different shades of gray
			stroke( (255/9) * c );
			line(x1,y1,x2,y2);
		}

	}
}

String art is really hard, I literally could not figure out how my curves were going to look. I ended up choosing this one because it was visually appealing and seemed interesting.

Shirley Chen – Looking Outward 04

Sorting is a project that generates algorithm visualization and sonification by Ren Yuan. This project makes the sorting history, data comparison, data swap,absolute error, residual sum of squares and other features visible and audible by using computer programming.  There are seven sorting algorithms to make this algorithm visualization and sonification: insertion sort, shell sort, bubble sort, quick sort, selection sort, heap sort, and merge sort.  The problem size of all sorting algorithms is 31, and the initial condition is random.

This project are very attractive to me because it visualizes the abstract computing features, picturing such invisible process of the computer directly. It even generates the sound based on the operation of these features, enhancing the visibility and concretization of the computing process. Moreover, by using certain algorithm, these features generate various, dynamic, and aesthetic patterns, shapes, and motions that can be inspirations for many artistic fields such as architecture and fine arts. Various sound that are generated by this project can be manipulated to be soundtrack for specific purposes such as using in Electronic Dance Music(EDM).  The visual representation combining with the sonification work perfectly to produce the visual and audio effects to the audience.

 

http://www.creativeapplications.net/processing/sorting-visualisation-sortification-and-sonification-of-an-algorithm/

Algorithm Visualization through Sorting

 

SORTING from Ren Yuan on Vimeo.

Tanvi Harkare – Looking Outwards – 04

A project that dealt with computational soundscapes is the Meandering River, created by the Funkhaus Berlin and onformative collaboration. The inspiration behind the project is the historical difference in landscapes, especially in bodies of water, that are made overtime. The objective of the art piece is to capture these changes that cannot be usually seen by the human eye. The algorithm that was specifically created for this project combines the river and surface patterns and classical music, composed by the Kling Klang Klong group, to create a colorful display. It was displayed at the Funkhaus Sound Chamber in Berlin from July 27th to the 30th in the year 2018. The creators of the project hoped that the imagery would help create a unique experience in terms of time, nature, and the emotional journey it can take us through.

I think the project is a unique way of converting audio into a dynamic visual painting. While the story behind the audiovisual installation is moving, one way they could have improved the user experience is having the art be more interactive. For example, a different image would be displayed whenever someone stood in front of it, or even touched the artwork.  

A view of the Meandering River at the Funkhaus Berlin

KadeStewart-LookingOutwards-04

 

Apparatum, a project created by panGenerator, is an “apparatus” that allows a user to create analog sounds via a digital interface. It’s a callback to one of the first studios to create analog sound, the Polish Radio Experimental Studio. With a description in words, the machine sounds completely unattractive; however, seeing Apparatum and hearing the sounds it produces will give you a completely different sense. The appearance is interesting, the interface is simple (albeit a little abstract), and the sounds are amazingly diverse.

The generation of the sounds, or rather, the movement of the parts in the apparatus are controlled in length by choosing the corresponding widget and elongating its width. The algorithms for this would probably track the width of the widget and translate that to a certain length of time to move the part associated with the widget. While not the most advanced, even useful, application, there is a clear and close relationship between the user’s digital input and Apparatum’s analog output.

Apparatum Project

Min Jun Kim- Looking Outwards 4


This is a descriptive video explaining Christina Kubisch’s series of art installations involving sound

The project is art installations with an immersive experience where an audience can walk around wires and technology through space with headphones to listen to various and creative sounds that can be heard through the headphones. The theory behind this working is electromagnetic induction where fields are disrupted when electrical objects move near each other. I admire that this project involves discovery as well as a creative process. Kubisch was able to discover a phenomenon through curiosity and then applied creative process to turn it into an art where everyone can experience. I thought that this project was very unique and innovative in that it’s not really a known category of art- especially at the time that it was discovered. I admire these aspects because I’ve sometimes felt as if the boundaries of art are limited, and that we are limited by the tools that we have at hand, whether it be a paintbrush or styrofoam, but with discovery we are able to expand the boundaries of art far beyond what is it now. I suppose that the magnets that shake within the headphones are processed by the algorithms and then turned into sound data which is what the user hears. The creators artistic sensibilities are manifested into final forms when she designs various electrical constructs that allows users to experience various sounds generated by them. I think that with the broadness of technology there are so many directions that can be taken with this type of art.

source: https://www.sfmoma.org/christina-kubisch-discovering-new-sounds/

Min Jun Kim -Project 4 String Art

sketch

/*
Min Jun Kim
minjunki@andrew.cmu.edu
15104-B
Project 4
*/

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

function draw() {
	background(0);
	//Thickness of Strokes of points
	strokeWeight(0.5);
	//color of strokes
	stroke(100,150,150);
	translate(width/2,height/2);
	rotate(3.95);

	for (var i = 0; i<500; i += 19) {
		//first large oval sideways settings
		var x = 140*sin(i);
		var y = 100*cos(i);
		//small circle settings in middle
		var eye1x = 50*sin(i*2);
		var eye1y = 50*cos(i*2);
		//draws the points outline for all drawn shapes
		point(x,y);
		point(y,x);
		point(eye1x,eye1y);
		
		//draws the lines on the vertial line
		for (var v = -200; v<201; v += 50) {
			stroke(100,150,150);
			line(-200,v,x,y);
			line(200,v,x,y);	
		} 
		//draws the lines on the horizontal line
		for (var f = -200; f<201; f += 50) {
			line(f,-200,y,x);
			line(f,200,y,x);
			//draws lines starting from middle to the small circle
			line(0,0,eye1x,eye1y);
			line(0,0,eye1x,eye1y);
		}
		
	}
}



I started off by drawing some points using the “for” loops. I used sine and cosine to draw points along circles. This helped me visualized where the lines will go. I then used nested “for” loops to draw the lines. The lines went along all sides of the canvas and I thought that it looked well. I was messing around with the variables and the end result turned out to be an upside-down tilted heart. I then translated to the middle of the canvas in order to rotate it, then converted all the variables to scale properly. All in all, I thought the project really taught me how to use for loops.

dynamic drawing

sketch.js

/* Arden Wolf
Section B
ardenw@andrew.cmu.edu
dynamic drawing */

function setup() {
    createCanvas(640, 480);
}
 
function draw() {
    background(0,24,255);
 
    var opposite = width-mouseX// makes object go in opposite direction

 //middle

    fill(255);
    ellipse(mouseX, 100, 60, 60);
    fill(0);
    ellipse(mouseX, 100, 30, 30);
 
    fill(255);
    ellipse(opposite, 200, 60, 60);
    fill(0);
    ellipse(opposite, 200, 30, 30);

    fill(255);
    ellipse(mouseX, 300, 60, 60);
    fill(0);
    ellipse(mouseX, 300, 30, 30);

    fill(255);
    ellipse(opposite, 400, 60, 60);
    fill(0);
    ellipse(opposite, 400, 30, 30);

    fill(255);
    ellipse(mouseX, 500, 60, 60);
    fill(0);
    ellipse(mouseX, 500, 30, 30);

//side
    fill(255);
    ellipse(100, mouseX, 60, 60);
    fill(0);
    ellipse(100, mouseX, 30, 30);

    fill(255);
    ellipse(400, opposite, 60, 60);
    fill(0);
    ellipse( 400,opposite, 30, 30);

    fill(255);
    ellipse(200, mouseX, 60, 60);
    fill(0);
    ellipse(200, mouseX, 30, 30);

    fill(255);
    ellipse(300, opposite, 60, 60);
    fill(0);
    ellipse(300,opposite, 30, 30);

    fill(255);
    ellipse(500, mouseX, 60, 60);
    fill(0);
    ellipse(500, mouseX, 30, 30);






    /*

    fill(255);
    ellipse( 100,mouseX, 60, 60);

    fill(255);
    ellipse(opposite-50,200, 60, 60);

    fill(0);
    ellipse(opposite-100, 250, 60, 60);

    fill(0);
    ellipse(opposite-500, 250, 60, 60);

    fill(0);
    ellipse(opposite-300, 400, 60, 60);

    fill(0);
    ellipse(mouseX+300, 400, 60, 60);

    fill(0);
    ellipse(mouseX+300, 100, 60, 60);
*/

}

I created a dynamic image of floating eyes using the variable we learned with width-mouseX.

Alessandra Fleck – Looking Outwards – 03

For this entry I wanted to look at an architect that takes parametric design methodology into high detail in her architectural designs as well as interpretive work. The Parametric Space Exhibition brought together by Zaha Hadid Architects and motion designers, Wahlberg. These ceiling embedded mechanisms move both physically and with their illuminance patterns according to the movement of those entering the exhibit. The information of those moving through the exhibit are taken from two laser scanners in the room. This information is then translated into parabolic motion in large cylinders driving the motion of the ceiling membrane which also corresponds to the RGB light reaction to the different heights and movements of the cylinders. The light is emitted in particle form, implying a sort of mesh to point grid algorithm that transcribes a motion, project it onto a mesh grid, then maps points onto key intersecting regions.


(The image above shows how the different mechanisms in the ceiling react in light to the visitor.)

The software and algorithms utilized in the project are not entirely specified. However, I believe it is a combination of grasshopper script mapped onto a 3D parabolic generated model in Rhino.


(The RGB particle light show is mapped onto the membrane of the ceiling.)

For more information:

Parametric Space by Zaha Hadid Architects


https://www.archdaily.com/396923/parametric-space-zaha-hadid-architects-kollision-cavi-wahlberg

Jacky Tian’s Project 03

sketch

var unit = 50
var angle = 0
function setup() {
    createCanvas(640, 480);
    
}


function draw() {
    background(mouseX * 0.5, 70, 120);

    var len = 480 - mouseX
    var sta = 640 - mouseY 
    
    strokeWeight(4)
    stroke(170, mouseX * 0.1, 50);
    line(unit, sta * 0.1, unit, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.2, 50);
    line(unit * 2, sta * 0.2, unit * 2, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.3, 50);
    line(unit * 3, sta * 0.3, unit * 3, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.4, 50);
    line(unit * 4, sta * 0.4, unit * 4, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.5, 50);
    line(unit * 5, sta * 0.5, unit * 5, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.6, 50);
    line(unit * 6, sta * 0.6, unit * 6, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.7, 50);
    line(unit * 7, sta * 0.7, unit * 7, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.8, 50);
    line(unit * 8, sta * 0.8, unit * 8, len);

    strokeWeight(4)
    stroke(170, mouseX * 0.9, 50);
    line(unit * 9, sta * 0.9, unit * 9, len);

    strokeWeight(4)
    stroke(170, mouseX, 50);
    line(unit * 10, sta, unit * 10, len);

    strokeWeight(4)
    stroke(170, mouseX * 1.1, 50);
    line(unit * 11, sta * 1.1, unit * 11, len);

    strokeWeight(4)
    stroke(170, mouseX * 1.2, 50);
    line(unit * 12, sta * 1.2, unit * 12, len);

    strokeWeight(4)
    stroke(170, mouseX * 1.3, 50);
    line(unit * 13, sta * 1.3, unit * 13, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.1, mouseY* 0.1);
    line(unit + 25, sta * 0.1, unit, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.2, mouseY* 0.15);
    line(unit * 2 + 25, sta * 0.2, unit * 2, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.3, mouseY* 0.2);
    line(unit * 3 + 25, sta * 0.3, unit * 3, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.4, mouseY* 0.25);
    line(unit * 4 + 25, sta * 0.4, unit * 4, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.5, mouseY* 0.3);
    line(unit * 5 + 25, sta * 0.5, unit * 5, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.6, mouseY* 0.35);
    line(unit * 6 + 25, sta * 0.6, unit * 6, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.7, mouseY* 0.4);
    line(unit * 7 + 25, sta * 0.7, unit * 7, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.8, mouseY* 0.45);
    line(unit * 8 + 25, sta * 0.8, unit * 8, len);

    strokeWeight(2)
    stroke(70, mouseX * 0.9, mouseY* 0.5);
    line(unit * 9 + 25, sta * 0.9, unit * 9, len);

    strokeWeight(2)
    stroke(70, mouseX, mouseY* 0.55);
    line(unit * 10 + 25, sta, unit * 10, len);

    strokeWeight(2)
    stroke(70, mouseX * 1.1, mouseY* 0.6);
    line(unit * 11 + 25, sta * 1.1, unit * 11, len);

    strokeWeight(2)
    stroke(70, mouseX * 1.2, mouseY* 0.65);
    line(unit * 12 + 25, sta * 1.2, unit * 12, len);

    strokeWeight(2)
    stroke(70, mouseX * 1.3, mouseY* 0.7);
    line(unit * 13 + 25, sta * 1.3, unit * 13, len);

    fill(120, 80, mouseX * 0.5); // control rect color explicitly
    stroke(0);
    push();
    translate(mouseX, mouseY);
    rotate(radians(angle));
    rectMode(CENTER); // center rect around 0,0
    rect(0, 0, 50, 50);
    pop();
    angle = angle + mouseX * 0.05;


}

For this project, the 4 dynamic aspects of image elements include size, position, angle and color. The lines changes its position and length based on the mouse’s position. Also, there is a square rotating around the mouse and it spins faster as it move towards the right side.

Daniel Teague – Looking Outward 03

From “Towards Resiliency of Post-Soviet City Networks”
From “Towards Resiliency of Post-Soviet City Networks”

https://soa.cmu.edu/asos-cupkova

Name of Creator: Dana Cupkova

Project: Advanced Synthesis Option Studios? (Didn’t seem entirely clear if this was the name of the project or the program certain projects fell under)

I clicked on this because of the interesting picture it had and its description, the latter of which is in the captions of both of the embedded pictures, and the former of which is the second embedded picture. The description the project page provided was interesting, talking about our need to change our approach towards design, architecture, and the environment as it becomes increasingly clear that humanity is having a major, and often negative, impact on the Earth’s biosphere. The project is supposed to help students test and practice new ideas and methods in this context.

However, while this was incredibly interesting, it failed to provide links to and clear, obvious examples of the works of students who have participated in this project. Indeed, my confusion with whether this is an actual project or just a program was due to said failure, especially as it was clear there are works by previous students.

That said, the algorithms involved in any of the works in this project obviously included some connection to the environment in which the works would take place, and it was clear the author (or possibly director) had a great interest in the interaction between civilization and the world around it.

Note: While it was clear this project was at least a few years old, with references to at least 2015 and 2016, there was no clear statement of when the project was started.