Category: Uncategorized

Kristina – Looking Outwards – 3

Arduino Art:

The first piece I am looking at is “Floe”. It was peiced together by a team of four from the Royal College of the Arts in London, GB. At first I wasn’t sure why I liked it so much; the plastic “ice forms” were somewhat scratched and dirty and placed randomly. However, two things left this piece worth merit: The first, was that the plastic sheets really did emulate ice. (In particular, the way which the light caught on the edges and refracted through the middle was really beautiful). Second, because the piece shows visually how a sine wave can be used to emulate non-rotational motion in the physical world as well as in the virtual which I think helped me understand the physical a little better. Cutting holes in different places in a circle was a very clever yet simple way of implementing this.

FLOE from Ozgun Kilic on Vimeo.

The fact that this piece is physical is by far its most important quality: It was the light which really meant the most to me visually, as the implementation of the motion is not necessarily what someone not interesting in the construction of such a piece might look at. For this reason, I believe this is successful arduino art.

“One Hundred and Eight” by Nils Völker is my favorite of the three I have selected: One hundred and eight plastic bags are inflated and deflated in different patterns to recreate a living, breathing organism. This piece speaks to me on a conceptual level as well as on an artistic/aesthetic level. This could easily be a representation of the ecological crisis we face on a day-to-day basis. I saw a quote earlier this week about trees: “Imagine a world where trees emit WiFi. We would be planting them everywhere — you’d never be more than a few metres from a tree! What a shame they only emit the air we breathe.” This sculpture goes the opposite direction while expressing the same sentiment: instead of appealling to the hardware (WiFi) it appeals to the organic (humans/life). (If that explanation made any sense at all.)

One Hundred and Eight – Animated Patterns from Nils Völker on Vimeo.

The Stone Spray project is important again because it is so physical. This robot is clearly somewhat intelligent — show by how it was able to create loops when spraying sand by moving form side to side. These sculptures are not very beautiful formed very small by nature of how they were formed. However I can envision extremely large sculptures protruding from beaches in some sort of “alien landscape” formation. Whether or not this is useful is not a question, it is simply an interesting application which results in 3D printing, which, as we all know, is a very interesting section of today’s market and is what holds the attention of people looking to mass-produce new kinds of technical consumer equipment.

Stone Spray Project from Stone Spray on Vimeo.

reasonably distanced ghost

For this, I had a tiny ghost character that would move away from you as you got closer and move forwards again as you came near, maintaining a pseudo-constant distance away from you. It blinks whenever you blink, relies on your scale and position on the screen to move itself around in a pseudo-3D space, and is relatively happy and cutesy.

This is a complete failure! Originally I really, really wanted a multi-eyed monster blob that blinked based on when the viewer did, and delayed the individual eye blinks so you got a visually appealing effect.

look at his beautiful, many eyes

Totally couldn’t get any sort of delay to work (I wrote a nifty little eye class in one of my previous sketches though, which was kind of exciting for me as I’ve tended to shy away from writing any sort of classes).

I have a working understand of classes and OSC now (as well as a continued appreciation for push/popMatrix), but I’m disappointed by the final sketch. I think it’s still pretty cute, but not really all that compelling or interesting. I’d really like to come back to this at some point and create something more like my original goal.

GIF – Swetha

GIF_proj

These animated gifs were hard for me to do mostly because I have not done anything like this before. I really enjoyed some of the pieces Golan showed us which were abstract but interesting so I strived to emulate that in my gifs. The process thought me a lot however I didn’t quite feel satisfied with the pieces I did. Many of the pieces underwent lots of revision as I tried to figure out helpful ‘tricks’ in my code that can help me in both this piece and many more to come. Tricks such as the one Golan showed us on the gif which only used as much frames as it took one blue dot to get to the next blue dot. The pieces I produce do have that experimental quality that I liked about Davidope’s work, however, I feel like there is more that can be done with them to take them to a new level. I will be working more on these outside of class because I definitely think that they have the potential to be much greater.

Some Sketches:

Originally, the wave formations were going to be different but I ended up taking another route.

photo 2 photo 3 photo

Here is the code:

 

 

// Global variables. 
int     num = 1;
int     nFramesInLoop = 120;
int     nElapsedFrames;
boolean bRecording; 

//===================================================
void setup() {
  size (500, 200); 
  bRecording = false;
  nElapsedFrames = 0; 
}
//===================================================
void keyPressed() {
  bRecording = true;
  nElapsedFrames = 0; 
}

//===================================================
void draw() {

  // Compute a percentage (0...1) representing where we are in the loop.
  float percentCompleteFraction = 0; 
  if (bRecording) {
    percentCompleteFraction = (float) nElapsedFrames / (float)nFramesInLoop;
  } else {
    percentCompleteFraction = (float) (frameCount % nFramesInLoop) / (float)nFramesInLoop;
  }

  // Render the design, based on that percentage. 
  renderMyDesign (percentCompleteFraction);

  // If we're recording the output, save the frame to a file. 
  if (bRecording) {
    saveFrame("output/myname-loop-" + nf(nElapsedFrames,4) + ".png");
    nElapsedFrames++; 
    if (nElapsedFrames < (nFramesInLoop+1)) {
      bRecording = false;
    }
  }
  saveFrame("GIFS"+str(nElapsedFrames)+".png");
}

//===================================================
void renderMyDesign (float percent) {

  // This is an example of a function that renders a temporally looping design. 
  // It takes a "percent", between 0 and 1, indicating where we are in the loop. 
  // This example uses two different graphical techniques. 
  // Use or delete whatever you prefer from this example. 
  // Remember to SKETCH FIRST!

  //----------------------
  // here, I set the background and some other graphical properties
  background (180);
  smooth(); 
  stroke (0,0,0); 
  strokeWeight (2); 

  //----------------------
  // Here, I assign some handy variables. 
  float cx = 100;
  float cy = 100;

  //---------------------
  //----------------------
  // Here's a pulsating ellipse
  //float ellipsePulse = sin ( 3.0 * percent * TWO_PI); 
  background(255*(num%2));
  //nElapsedFrames+=1;
  float ellipseW = nElapsedFrames*5%(width+150); 
  float ellipseH = nElapsedFrames*5%(width+150); 
  //float ellipseColor = map(ellipsePulse, -1,1, 128,255); 
  fill (255*(1-(num%2))); 
  ellipse (width/2,height/2, ellipseW, ellipseH);
  nElapsedFrames+=1;
  if(nElapsedFrames*5%(width+150) == 0){
     num+=1;
   }

  int counter = 0;
  while(counter<=30)
   {
    for (int sy=0; sy < height; sy+=4){
      stroke(0);
      float t = map (sy, 0,height, 0.0,0.25); 
      float sx = 100 + 25.0 / tan ((t + percent)*TWO_PI); 
      point (sx+counter*10,sy); 
      }

    for (int sy=0; sy < height; sy+=4){
      stroke(255);
      float t = map (sy, 0,height, 0.0,0.25); 
      float sx = width/2 + 25.0 * tan ((t + percent)*TWO_PI); 
      point (sx+counter*10,sy); 
      }
      counter+=1;
      saveFrame("Gif-.png");
   }

  //----------------------
  // If we're recording, I include some visual feedback. 
  if (bRecording) {
    fill (255, 0, 0);
    textAlign (CENTER); 
    String percentDisplayString = nf(percent, 1, 3);
    text (percentDisplayString , cx, cy-15);
  }
}

Maryyann-Snake

./wp-content/uploads/sites/2/2013/09/Snakes4.pdf

./wp-content/uploads/sites/2/2013/09/Snakes3.pdf

./wp-content/uploads/sites/2/2013/09/Snakes2.pdf

./wp-content/uploads/sites/2/2013/09/Snakes.pdf

I made my wallpaper based on the game Snake. The ellipses start from the left top corner and spirals to the middle and increase in size to imitate a snake chasing its food.

 

Maryyann-Schotter

 

int offset;
float rotation;
int min, max;

void setup() {
size(540, 840);
background(190);
swidth = sheight = 30;
offset = 90;
rotation = radians(1);
min = -1;
max = 1;
noLoop();
}

void draw() {
noFill();
for (int row = 0; row < 22;row++) {
for (int col = 0; col< 12;col++) {
pushMatrix();
translate(col*swidth + offset, row*sheight+offset);
rotate(rotation);
rect(0, 0, swidth, sheight);
popMatrix();
rotation=radians(random(min, max));
}
min -= 3;
max += 3;
}
}

Swetha – Generative Wall Paper

For this assignment, I began with generating something that I liked and that looked interesting. This design turned out to me more of an image rather than a wall paper so I took the code and began playing with it in multiple ways, Finally I settled on two other images to include with my piece, both of which are wallpaper/ gift wrap generated from the original.

./wp-content/uploads/sites/2/2013/09/Design-1.pdf

./wp-content/uploads/sites/2/2013/09/design-2.pdf

./wp-content/uploads/sites/2/2013/09/Design3.pdf

A Reminder that You’re Dying (Blink)

This recipe is for an indicator light ring to remind you that you are mortal. Every month, on your birthday, the color of the light changes slightly but noticeably, fading from a bright blue to a white color. Ideally, the light that changes each month is one of many—approximately 70 or 80 (average lifespan for a man or woman in the U.S.) The lights for years you have already lived are white; the ones for years to come are bright blue, and the one for the current year is somewhere between.

The ring is both a personal and public reminder of the value of a person’s time, and that life is ephemeral. The ring would remind that wearers death is inevitable, and so they should live fully and fearlessly now.

blink-ring
* should read “have passed”

The light glows light blue on the day of your birthday each month. The light glows light blue on the day of your birthday each month.

 

 

Lewitt-Fixed

A quadrangle which is formed and enclosed by four lines, the first of which is drawn from a point halfway between a point halfway between [a point halfway between] the center of the wall and the upper left corner and the midpoint of the left side and the upper left corner to a point halfway between the midpoint of the top side and the upper right corner, the second line from a point halfway between the start of the first line and a point halfway between the midpoint of the top side and the upper left corner to a point halfway between a point halfway between the center of the wall and the lower left corner and the midpoint of the bottom side, the third line from a point halfway between a point halfway between the start of the first line and the end of the second line and a point halfway between the midpoint of the left side and the lower left corner to a point which is on an axis between the lower left corner [and] a point halfway between the midpoint of the right side and the upper right corner where a line drawn from the center of the wall to a point halfway between the midpoint of the right side and the lower right corner would cross that axis, the fourth line from a point equidistant from the end of the third line the end of the second line and a point halfway between a point halfway between the center of the wall and the midpoint of the bottom side and a point halfway between the midpoint of the bottom side and lower right corner to a point halfway between the start of the second line and a point where a line would cross the first line if it were drawn from the midpoint of the right side to a point halfway between midpoint of the top side and the upper left corner.

Credit to Melanie Kim and Maryyann Landlord. Corrections in brackets.

Aside: Real Time Data Sources

While considering what to use as an input for the Blink, I looked into different sources of real time data that exist as twitter feeds, RSS, or email subscriptions. This is not an extensive list, but I thought I’d share in case anyone needs a place to start with this in the future (including me).

Twitter:

  • Gun Deaths in the US: https://twitter.com/GunDeaths
  • CO2 in the Atmosphere: https://twitter.com/Keeling_curve
  • Earthquakes: https://twitter.com/USGSted

Quora questions:

  • Good answers, not always good formats: http://www.quora.com/Where-can-I-find-public-or-free-real-time-or-streaming-data-sources
  • No good answer yet: http://www.quora.com/Real-time-Analytics/Where-can-I-find-sources-of-high-volume-firehose-like-streaming-data

Some cool data in other formats:

  • http://www.worldometers.info/
  • http://www.quora.com/APIs/Where-can-i-find-worlds-real-time-weather-data-online
  • http://www.quora.com/Data/Where-can-I-find-large-datasets-open-to-the-public

APIs and IFTTT

IFTTT is a nice tool if you are using social media. I don’t use twitter, I don’t use Facebook, I don’t use instagram… so I have to search for an useful application.

I found one after one hours. Because I need a person or a couple who wants to rent my apartment in Berlin. I use the recipe craigslist search and email. Now when somebody is publishing a post on craigslist to find a apartment in Berlin I get an email. Unfortunately craigslist is not so popular in Germany.