Sophie Chen – Looking Outwards – 02

Markos R. Kay – The Flow

The Flow visually imagines physical processes that we can’t see with our eyes. What initially drew me to this project is when I first saw the prints/screenshots, I didn’t expect it to be generated because of the high level of detail it had. When I watched the piece, I felt like I was watching something out of a documentary that was storyboarded and filmed/animated rather than generated. It didn’t match my expectations of what artwork generated through an algorithm would look like, which was very eye-opening. This piece is created through 3D computer simulations of particle systems, and the unpredicted motions generated are recorded by a virtual camera. Just like molecules, these pieces wind up into walls of code and end up layering and building complex 3D visuals. This is an extremely complex piece with a lot to digest, and I think the artist is especially successful in that the generative method he used to create this piece carries just as much weight (if not more) as the final product itself. If someone just saw the video and prints without knowing the process behind it, they’ve missed the point.

Screen Capture of The Flow
Screen Capture of The Flow

link: http://www.mrkism.com/flow/

artist’s website: http://www.mrkism.com/#about

Yoo Jin Shin-LookingOutwards-02

Irrational Geometrics

Irrational Geometrics (2008) located in Galerie Municipale, FR

Irrational Geometrics is a series of generative art created by French artist, Pascal Dombis. When a person pulls a string (like pictured above), the displays on the screens change. This interactive installation was created using 4 videoprojectors, 2 computers, and custom software. The algorithm used may possibly have to do with randomizing the movement, length, shape, and color of the lines and activating when the string is pulled. This algorithm seems to align with his philosophy that “a line generates reality,” which is often interpreted as a mysterious, constantly moving, abstract concept.

Through the Irrational Geometrics series, Dombis tries to portray the significance and universality of a line.  I thought Dombis’s concept of using simply lines to create art is inspirational. He goes beyond what is presented at face value and creates something powerful. The colors in the installations vary widely, and even though the image above is still, it conveys so much movement! It seems as if you’re in another dimension or in some time traveling portal. I think Dombis successfully captured his philosophy that “a line generates reality.”

To see Irrational Geometrics in action, click here!

Joanne Lee – Project 02

Joanne Lee – Project 02

// Joanne Lee
// Section C
// joannele@andrew.cmu.edu
// Project-02
var eyeType = 1;
var face = 250;
var eyeY = (320+(320-0.15*face))/2;
var brow = 1;
var browY1 = eyeY-0.10*face;
var browY2 = eyeY-0.10*face;
var browStroke = 8;
var stacheR = 255;
var stacheG = 255;
var stacheB = 255;

function setup() {
  createCanvas(480,640);
}

function draw() {
  background (254, 203, 212);
  var rightEyeX = (240+(240+0.3*face))/2;
  var leftEyeX = (240+(240-0.3*face))/2;
  var eyeColor = "rgb(0,0,0)";
  var curveAnchorY = (eyeY+0.05*face)+50;

  // ears
  var rightEarX = 240-0.33*face;
  var leftEarX = 240+0.33*face;
  var earY = 320-0.32*face;
  var earSize = 70;

  strokeWeight(5);
  stroke(0);
  fill(223,155,58);
  //right brow
  ellipse(rightEarX,earY,earSize,earSize);
  //left brow
  ellipse(leftEarX,earY,earSize,earSize);

  // face
  ellipse(240,320,face,0.85*face);

  // eyebrows
  var leftBrowX1 = leftEyeX-0.09*face;
  var leftBrowX2 = leftEyeX+0.07*face;
  var rightBrowX1 = rightEyeX-0.07*face;
  var rightBrowX2 = rightEyeX+0.09*face;

  strokeWeight(browStroke);
  //left brow
  line(leftBrowX1,browY1,leftBrowX2,browY2);
  //right brow
  line(rightBrowX1,browY2,rightBrowX2,browY1);

  // eyes
  strokeWeight(0);
  fill(eyeColor);
  if (eyeType == 1) { // circle eyes
    var eye1Size = 0.06*face;

    // right eye
    ellipse(rightEyeX,eyeY,eye1Size,eye1Size);
    // left eye
    ellipse(leftEyeX,eyeY,eye1Size,eye1Size);
  }
  else if (eyeType == 2) { // oval eyes
    var eye2SizeW = 0.06*face;
    var eye2SizeH = 0.12*face;

    // right eye
    ellipse(rightEyeX,eyeY,eye2SizeW,eye2SizeH);
    // left eye
    ellipse(leftEyeX,eyeY,eye2SizeW,eye2SizeH);
  }
  else if (eyeType == 3) { // laughing eyes
    var leftEyeX1 = leftEyeX-0.04*face;
    var leftEyeX2 = leftEyeX+0.04*face;
    var leftEyeY1 = eyeY-0.03*face;
    var leftEyeY2 = eyeY+0.03*face;
    var rightEyeX1 = rightEyeX+0.04*face;
    var rightEyeX2 = rightEyeX-0.04*face;
    var rightEyeY1 = eyeY-0.03*face;
    var rightEyeY2 = eyeY+0.03*face;

    stroke(eyeColor);
    strokeWeight(8);

    // left eye
    line(leftEyeX1,leftEyeY1,leftEyeX2,eyeY);
    line(leftEyeX2,eyeY,leftEyeX1,leftEyeY2);
    // right eye
    line(rightEyeX1,rightEyeY1,rightEyeX2,eyeY);
    line(rightEyeX2,eyeY,rightEyeX1,rightEyeY2);
  }
  else if (eyeType == 4) { // dead eyes
    var leftEyeX1 = leftEyeX-0.05*face;
    var leftEyeX2 = leftEyeX+0.05*face;
    var leftEyeY1 = eyeY-0.04*face;
    var leftEyeY2 = eyeY+0.04*face;
    var rightEyeX1 = rightEyeX-0.05*face;
    var rightEyeX2 = rightEyeX+0.05*face;
    var rightEyeY1 = eyeY-0.04*face;
    var rightEyeY2 = eyeY+0.04*face;

    stroke(eyeColor);
    strokeWeight(8);

    // left eye
    line(leftEyeX1,leftEyeY1,leftEyeX2,leftEyeY2);
    line(leftEyeX2,leftEyeY1,leftEyeX1,leftEyeY2);
    // right eye
    line(rightEyeX1,rightEyeY1,rightEyeX2,rightEyeY2);
    line(rightEyeX2,rightEyeY1,rightEyeX1,rightEyeY2);

  }

  // nose
  var noseX = 240;
  var noseY = 320+0.05*face;
  var noseSize = 0.1*face;
  ellipse(noseX,noseY,noseSize,noseSize);

  // mustache
  var leftStacheX = noseX-0.07*face;
  var rightStacheX = noseX+0.07*face;
  var stacheY = noseY+0.06*face;
  var stacheSizeW = 1.7*noseSize;
  var stacheSizeH = 1.4*noseSize;

  strokeWeight(0);
  fill(stacheR,stacheG,stacheB);
  //left stache
  ellipse(leftStacheX,stacheY,stacheSizeW,stacheSizeH);
  //right stache
  ellipse(rightStacheX,stacheY,stacheSizeW,stacheSizeH);
}

function mousePressed() {
  face = random(250,400)
  eyeType = int(random(1,5));
  browStroke = random(4,10);
  brow = int(random(1,3));
  if (brow == 1) { // concerned brows
    browY1 = eyeY-0.10*face;
    browY2 = random(250,260);
  }
  else { // angry brows
    browY2 = eyeY-0.10*face;
    browY1 = random(250,260);
  }
  stacheR = random(200,255);
  stacheG = random(100,255);
  stacheB = random(150,255);
}

At first, I planned to do variable faces regarding iPhone emojis. However, I decided to hone in more on my favorite emoji — KakaoTalk’s character, Ryan. My variable starts off as the traditional character’s face and then varies. I was curious if the character would still be noticeable with different features and emotions.

Robert Oh-LookingOutwards-02

One of my favorite videos on Rube Goldberg machines.

By definition, Rube Goldberg machines are machines intentionally designed to perform a simple task in an indirect and over-complicated way. These machines usually produce a domino effect, in which each device triggers the next one, and eventually reaches some end goal.

I found these machines very amusing and entertaining to watch. I love the effort the creator of this video put in to make this machine function just to turn a newspaper page at the end of the contraption. I also love the ingenuity of these machines, and how some completely normal action is humorously able to start the next action.

The creator of these machines, Rube Goldberg, was originally a cartoonist who designed his first machine in a comic strip. After much popularity, many TV shows and movies used these ideas, thus giving birth to the “Rube Goldberg machines”.  And so, Goldberg’s artistic sensibilities came to life in the form of these machines!

These machines give me inspiration to think outside the box and to come up with creative ideas!

Jaclyn Saik Looking Outwards 02

After exploring a bunch of generative artist’s portfolios and the websites of a lot of different design and art firms, I found a generative art project that really grabbed my attention. The design studio “Nervous System” created and exhibited a project called “Growing Objects” which, simply put, explored patterns that occur in nature and then simulated them. This caught my eye particularly because the project was hosted by the Simons Center for Geometry and Physics, but the images of the objects and visuals they created were beautifully delicate and artistic.   The above picture is just one of the many digitally fabricated sculptures in the series, called “Laplacian Cave.” Laplacian growth is one of the four computational systems that the studio featured and explored: this one particularly “involves a structure which expands at a rate proportional to the gradient of a laplacian field.” This type of growing and the resulting pattern can be found in nature in crystallization effects and with different types of fungi and algae.

The studio produced a variety of both 2D and 3D models that used a similar algorithm. They made sure to specify why they were not trying to recreate exactly something that is found in nature, but rather explore how synthetically building objects using these algorithms brings up similarities in the natural world.

I think this project is a really interesting combination of math and art, and I think it is fitting and very “full-circle” that the mimicking of nature and living organisms brings about such an elegant synthesis.

Rebecca Kim – Looking Outwards – 02

Jackson Mac Low (1922-2004) used computational methods to create poetry in a sort of “cut out” methodology that contradicted conventions of syntax and structure. He implemented algorithms to create abstract texts–but with intricate craftsmanship. Despite the outward incoherence of his texts, Low maintained aesthetic control–even down to the seconds elapsing between each phrase–with methods mirroring those of a composer. The slight connections between consecutive words are even comparable to Siri’s predictive feature on the keyboard.


Strangely, I felt like I understood the essence of his texts, whether that was the sense he intended for his audience or not. For example, in his poem, “Call Me Ishmael” (1972), he pairs the word “circulation” and “long long” and “coffin” that, to me, conveys the mundane cycle that is life. He–or, his algorithm–incorporates tinges of politics as well, with a name characteristic to a specific culture and the phrases “city a land” and “extremest left.”

poem generated by algorithm

Low and his methods were a perfect manifestation of “first word art”–what he accomplished was revolutionary. He broke the constraints of composition–and even art. A fruitful creative of the 20th century, he also continued to receive prestigious fellowships and awards throughout his career.

Read more about him here:

https://www.poets.org/poetsorg/poet/jackson-mac-low

 

Xindi Lyu-LookingOutwards-02

Giacomo Carmagnola

One of the most intriguing generative artists in my knowledge is the Italian generative artist Giacomo Carmagnola. His produces what is called “glitch art”, which is usually a practice of using digital errors in aesthetic purposes. However, Giacomo Carmagnola, a renowned glitch art artist himself shakes up the field by mixing digital computation with human emulations. His works most often are visually impact-full in the most extraordinary ways, usually portraying a human figure with their face replaced by bleeding pixels. These face-less portraits all seem to be telling their stories even without an expression.

Further description of Carmagnola

Category Project-02-Variable-Face

version2

//Robert Oh
//Section C
//rhoh@andrew.cmu.edu
//project-02-Variable-Face

var body_width = 240;
var body_height = 250;
var face_width = 190;
var face_height = 200;
var eye_w = 35;
var eye_h = 0;
var beak_w = 20;
var beak_h = 20;
var beak_dir = 2;
var brow_outer_h = 110;
var brow_inner_h = 100;
var brow_width = 5;
var flipper_right_angle = 0;
var flipper_left_angle = (10/9);
var button_unit = 20;

function setup() {
  createCanvas(640, 480);
}

function draw() {
  background(61, 247, 247);
  noStroke();

  //black parts of body
  fill(0, 0, 0);
  ellipse(320, 270, body_width, body_height);
  ellipse(320, 150, face_width, face_height);

  //flippers
  fill(0, 0, 0);
  if(flipper_right_angle < 0){
    flipper_right_angle = (2+flipper_right_angle);
  }
  arc(350, 270, 350, 350, flipper_right_angle*PI, (flipper_right_angle*PI)+(PI/16));
  arc(290, 270, 350, 350, flipper_left_angle*PI, (flipper_left_angle*PI)+(PI/16));


  //white parts of body
  fill(255, 255, 255);
  ellipse(320, 270, body_width-60, body_height-50);
  ellipse(320-(face_width/6), 150, face_width/3, face_height*3/5);
  ellipse(320+(face_width/6), 150, face_width/3, face_height*3/5);
  rect(300, 150, 60, 40);

  //feet
  fill(255, 181, 102);
  ellipse(320-(body_width/5), 270+body_height/2, 60, 30);
  ellipse(320+(body_width/5), 270+body_height/2, 60, 30);

  //eyes
  fill(0, 0, 0);
  ellipse(320-(face_width/6), 140, 30, 30);
  ellipse(320+(face_width/6), 140, 30, 30);
  fill(255, 255, 255);
  ellipse(320-(face_width/6), 150, 40, 20)
  ellipse(320-(face_width/6), 140, eye_w, eye_h)
  ellipse(320+(face_width/6), 150, 40, 20)
  ellipse(320+(face_width/6), 140, eye_w, eye_h)

  //blush
  fill(255, 170, 170);
  ellipse(320-(face_width/6), 150, 20, 15);
  ellipse(320+(face_width/6), 150, 20, 15); 

  //beak
  fill(255, 181, 102);
  if(beak_dir <= 1){
    beak_dir = 2;
    beak_w = -beak_w;
  }
  triangle(320, 150, 320, 150+beak_h, 320+beak_w, 150+(beak_h/2))

  //eyebrows 
  fill(0, 0, 0);
  quad(320-(face_width/6)-15, brow_outer_h, 320-(face_width/6)+15, brow_inner_h, 320-(face_width/6)+15, brow_inner_h+brow_width,
       320-(face_width/6)-15, brow_outer_h+brow_width);
  quad(320+(face_width/6)-15, brow_inner_h, 320+(face_width/6)+15, brow_outer_h, 320+(face_width/6)+15, brow_outer_h+brow_width,
       320+(face_width/6)-15, brow_inner_h+brow_width);
  
  //buttons
  fill(0, 0, 0);
  ellipse(320, 230, button_unit, button_unit);
  ellipse(320, 270, button_unit, button_unit);
  ellipse(320, 310, button_unit, button_unit);

  //whites inside the buttons
  fill(255, 255, 255);
  ellipse(320-(button_unit/8), 230-(button_unit/8), button_unit/4, button_unit/4);
  ellipse(320+(button_unit/8), 230+(button_unit/8), button_unit/4, button_unit/4);
  ellipse(320-(button_unit/8), 270-(button_unit/8), button_unit/4, button_unit/4);
  ellipse(320+(button_unit/8), 270+(button_unit/8), button_unit/4, button_unit/4);
  ellipse(320-(button_unit/8), 310-(button_unit/8), button_unit/4, button_unit/4);
  ellipse(320+(button_unit/8), 310+(button_unit/8), button_unit/4, button_unit/4);
}

function mousePressed() {
  //changes emotions every time mouse is clicked
  body_width = random(220, 260); 
  body_height = random(230, 270); 
  face_width = random(170, 210); 
  face_height = random(180, 220); 
  eye_w = random(30, 40); 
  eye_h = random(12, 25); 
  beak_w = random(5, 20); 
  beak_h = random(10, 20); 
  beak_dir = random(0, 2); 
  brow_outer_h = random(100, 120); 
  brow_inner_h = random(100, 120); 
  brow_width = random(2,7); 
  flipper_right_angle = random(-(1/4), 0);
  flipper_left_angle = random(1, 5/4);
  button_unit = random(15, 30); 
}

I had a lot of fun making this project. Penguins are definitely my favorite kind of animal, so I thought I would make faces for these adorable, flightless birds. Because I couldn’t add mouths to penguins (which play a huge part for  expressions), I had to make up for it by changing their eyebrows and eyes. Enjoy!

Nina Yoo- Project 02- Variable- Face Section E

sketch

/*Nina Yoo
Section E
nyoo@andrew.cmu.edu
Project-02
*/ 

var eyeSizeW = 44;
var eyeSizeH = 27;
var colorEye = 0;
var faceWidth = 192;
var faceHeight = 192;
var eyeBruiseWidth = 76;
var eyeBruiseHeight = 63;
var earH = 54;
var earW = 23;


function setup() {
    createCanvas(480, 650);
    noStroke();
    
    
}

function draw() {
	background(167,217,201);

	//head
	fill(229,222,167);
	ellipse(240, 350, faceWidth, faceHeight);
	fill(229,222,167);
	ellipse(143, 350, earW, earH);
	fill(229,222,167);
	ellipse(336,350, earW, earH);

	//hair
	fill(0);
	triangle(215,228, 211, 257,239,261);
	triangle(239,261,222,221,278,163);

	//left eye
	fill(255);
	arc(195,346, 44, 44, 0, PI);
	fill(colorEye);
	arc(195,346,24,15,0,PI);


	//bruise
	fill(175,127,183);
	ellipse(286,350, eyeBruiseWidth,eyeBruiseHeight);

	//right eye
	fill(255);
	ellipse(286,351,eyeSizeW,eyeSizeH);
	fill(colorEye);
	ellipse(286,350,24,15);

}

function mousePressed(){
	faceWidth = random(192, 240);
	faceHeight = random(192, 250);
	colorEye = random (0, 200);
	eyeSizeW = random (44, 85);
	eyeSizeH = random (27, 50);
	earW = random (23, 76);
	earH = random (54, 100);
	eyeBruiseWidth = random (76, 100);
	eyeBruiseHeight = random (63, 90);


}



	





















The assignment required a lot of going back and forth with the variables because there were values I wanted to change, but having the variables also helped in the case that I didn’t have to go through the whole code and change every number. Another important factor I realized was that I needed to close the function draw in order for the function mousePressed to work. The mousePressed function was surprisingly easier than expected and having the variables also as a little cheat sheet for measurements was helpful.

Jisoo Geum – Looking Outwards – 02

 

 

Laetitia Sonami , Lady’s Glove, 1991 – now

Laetitia Sonami is a sound artist and a performer. One of her many projects that astounded me the most was the Lady’s Glove, first made in 1991. Made of rubber kitchen gloves and five Hall effect transducers glued at the tip of the fingers and a magnet on the right hand, varying voltages were fed to a Forth board and converted to MIDI signals. The signals controlled various synthesizers and samplers. Initially, the glove was a satirical response to the masculinity portrayed in virtual reality apparels. Ever since, she has created many iterations of the Lady’s Glove involving new technologies. In her third iteration of the Lady’s Glove, Sonami included a pressure pad with receivers located on her right arm and her left foot. The sensors allowed the program to translate Sonami’s entire bodily gestures into sound. After a few more iterations, the Lady’s Glove now consists of  five microswitches, four Hall effect transducers, pressure pad, resistive strips, two ultrasonic receivers, and accelerometer that measures the speed of hand motion. The signals go into STEIM’s Sensorlab, and are encoded into MAX-MSP software. The algorithms involved in this project would be the systems being transferred into STEIM’s Sensorlab. Although I have always found sound design fascinating, Sonami’s gloves resonated with me the most because of the idea of contradicting a stereotyped material and transforming an instrument. I could only imagine how much the rubber glove would have empowered women back in the 90’s and turned the table of perception towards them. I also found the idea of changing motion into intricately layered sound astonishing.