tag visualization

Based on a suggestion from someone I decided to use an external library — traer physics. The library would add forces, like gravity and springs. There are number of problems that need to addressed…

  • how to show all the tags
  • how to filter the important one
  • how to browse, surf, navigate tags physically
  • how to access their content

 The first solution to see tags better was random rearranging. By pressing the R key user could move tags to random places and hopefully by doing this enough times, they would get a better view. Also they have an option of hiding the link between tags to make the page cleaner:http://platohelper.net/vis/heidi/ The second solution was allowing users to type a word and doing a search. http://platohelper.net/vis/heidi2/  The third  solution was to create space between tag-clusters. This proved a bit challenging. The attempt however lead to many fantastic results that were not anticipated. For instance the tags moved so far away that they were barely visible … I took snapshot of them moving apart like a expanding universe …few frames later… Otherwise when there wasn’t attraction … the behavior was stranger… going back and forth in circles as if fighting eachother… I called it tag-wars: http://www.platohelper.net/vis/tagVisualizationWars/applet/ For navigation, incorporating drag and drop was a challenge in 3d. The easiest hack was drawing the curser where the mouse was — however the curser wouldn’t reach the areas near the edges. With the idea of typing I hoping of allowing users to write complete sentences where a number of result come back to their attention.Its been a really fun time time at ITP. So long. 

final proposal

For my final I decided to visualize the tags in my database. Tags have a complicated relationship to each other and their contents. To translate their relationship I would have to use hashmaps. A more simple way was to make queries for each tag to get its information, such as other tags it is related to, its contents, etc. So I made use of urls, php $_GET to send request from applet and collect information from mysql. This way I could even one day post this applets in my sites for users …After 2-3 weeks I came up with this:http://www.platohelper.net/java/tagVisualization7/applet/ I wanted to play around with this and improve it for my final exam 

two hidden attractors

This is perhaps my best work in Nature of Code. But I didn’t know it at the time. There are many forces at play — but we can’t see them. Like how magnetic field, wind, water flow… are all invisible. In this applet to create a sense of fish swimming I had two large masses  to have other orbiting and share them. And further they are swinging from side to side with the waves. The water has a sources which slows down the “fish” object as they dive back into the water.

http://www.itp.nyu.edu/~dag380/noc/ocean/

gravity

This week at Nature of Code, I learned about gravity. I just found out that, really in Daniel Shiffman’s naming convention there is no room for ambiguity. “Nature” in “Nature of Code” is literally Nature, just the same way that “Programing from A-Z” is really programing from a-z. Nature of code doesn’t mean the qualities of coding and A-Z doesn’t mean comprehensive like I used to think. It is nature like in mother nature and a-z like in “now I know my a b c…” So back to gravity. Things fall, but as the surrounding changes their velocity changes too, like a stone falling into water or a sugar-cube into the tea cup. http://www.itp.nyu.edu/~dag380/noc/force/ 

midterm project — shower curtain

For the midterm I was thinking of creating droplets as I see in the shower curtain. The patters are very regular on the plastic sheet and as the grow, they merge, and as the mass grows to a certain size it also falls bringing down other droplets.They look something like this:courtesy of www.sugareestitches.com Courtesy of http://www.sugareestitches.com/fabrics/Water_Droplets_Blue.jpg  

shower curtain

After spending 5 intensive days with different aspects of the program I really learned to appreciate Mother Natures intricate work of art. There were too many factors — it was hard to know what happened in the code.This was the last version:

http://www.itp.nyu.edu/~dag380/noc/drop/applet/



This is a version before:


http://www.itp.nyu.edu/~dag380/noc/dropcircles/  


Read more »

back to processing

It is the first week of Nature of Code class and I’m very excited to work with Processing again — after lack for a good developing environment for PHP and doing web development, I fully appreciate how simple things used to be. For the first week I made something with perlin noise…http://www.itp.nyu.edu/~dag380/noc/peace/applet/   Its basically a pool of blood and when it fills the screen a peace sign appear. Seriously, how much bloodshed is enough? 

the interface

Before moving further with the code I decided to start working on the interface. The switches, buttons and potentiometers all needed a place to sit securely. Furthermore I needed a feedback of their status, like a light to indicate whether digital inputs were pressed or not or a gradual change from on to off that hints the degree of analogue inputs. I thought it best to have the audience see this feed back as well to get a better idea of the nature of change being applied.

plexi

To hold the material I chose plexy. It is easy to drill if the action is steady and slow which causes it to melt. The translucency is the key here.

plexy

There always needs to be a container. I built a box with a nicest blocks of wood I found from hardwood floor samples.

wooden blocks to support the plexi

There are wooden blocks that help to support the plexi in place and leveled with the edge of the box. the couple of nails ensure that the glass does not slide forward.

the score

The repetitive part of playing a short audio clip takes away its association. I have been playing with famous statements from famous movies everyone recognizes and short english sentences. However after looping the experience centers around rythem and music from a scene in a movie or meaning of a word. If I pursue further, I want to reach the point where words are reduced to noise and pure signal. So here is a simple three-step plan of the performance laid down that gets this idea across (fortunately it is not written in stone):

1. presentation

a camera, is projecting ideas, a simple words or two describing or creating a meaning associated with each short sample file. The sample files are played one at a time, and their loop-points are modified and looped. There are different ideas, such as “scandal”, “war”, “electric”, “devaluation”… and therefore associations.

2. Fusion

The samples are played together and they slowly form to become one unified sound. I will set the loop time, pitch and volume to make sure no one of them stands most, while they are still recognizable.

3. Decomposition

The climax is reached where sound qualities have taken extreme measures in terms of pitch and length and they are completely unrecognizable from what they were, yet a sense of unity between them is still retained.

I think the choice of content makes a huge difference and I have a hard time coming up with powerful ideas or nice sound samples that cover a wide range of emotions, thoughts… For the ideas displayed on flash cards I was thinking of: Patrotism, Politics, Lust, Foreign, Resentment… and for the samples I was thinking a sentence from a political speech, a pornography moan, a mean phrase from a movie, a spoken word/sentence from a language teaching course… The problem is that they ideas are not representative of a broad range of ideas and they are not related in anyway. I would like to have a common thread in all ideas, or maybe find opposite ideas and show they could be unified.

rapid prototype

the messy life of mine

Here is the sample of prototype I made. This inputs send signal to through the midi back to the computer. I needed digital input for the swithes and analog for the pots. I just wanted to put as much inputs as I possibly could. The result was this:

it’s like a spider …

very hairy…

hairy!

with lots of extensions and devices falling from it

more like damaged hair i’d say

It is quite pleasant to carry but I’m not sure about its future.

Moving this to perfboard wasn’t easy and I have given up for the time being. I have been working more with the max patch. Using groove object in max, I read a sound file and loop over and over. The result is very gratifying (I love playing something over and over). I can specify the in-point and out-point of the play area using potentiometers.


click here to listen to the sound

Towards the end of the file, I am playing with pitch as well. So far I am able to manipulate pitch, loop points but there are two other things that still remain and they are very important. I need to be able to set often loop occurs, as of right now they are back-to-back but setting the apart could create better beat time. I would like to play with volume which is very simple I think, being able to change the loudness. And last but not least, in fact the most important part of the project is layering. As you see the sample above yearns for loop, being able to keep part of the sound and add to it… in other words layering. That I think will be a bit complicated.

I made the prototype using arduino and midi which was not a good idea. Midi is a bit slow and requires additional cables and hardware to connect. Furthermore the range was a bit limited. Serial was faster and using the new Max Arduino makes working with the hardware a lot easier, eliminating the need for mundane codes how to deal each pin (it is even more complicated with midi).

I will focus on making the physical interface and put off max for a while.

Next Page »