Daily Archives: 23 Jan 2013

Erica

23 Jan 2013

ofxaddons yay!
1. ofxSelfOrganizingMap
This addon helps to implement a mapping of high-dimensional data to a low-dimensional space. I don’t know a whole lot of about self-organizing maps or unsupervised machine learning but I’m really interested in machine learning and from reading some of the linked wikipedia pages, the addon sounds pretty cool and may be something I’d like to experiment with when doing the data visualization project.
2. ofxOpticalFlowFarneback
I posted a video called Optical Flow Test that uses OpenFrameWorks and OpenCV in my previous post, which uses this addon. I’ll post it again for convenience:

I really hope to experiment with optical flow because I think it could be used as an awesome interface for something or as a way of exploring or mutating a virtual space to create a different kind of experience.
3. ofxGame
This addon contains useful classes for making 2d games in OpenFrameworks. The author provides a video demonstrating the addon:

Tecnópolis Pakapaka: the makingoff ofxGame from Patricio Gonzalez Vivo on Vimeo.

Making games (particuarly 2d games) is kind of my default so I imagine that as I’m learning OpenFrameworks I will want to make a game at some point. The author also suggests some Processing apps that are useful for making game objects so I think working with this addon will give me experience working between both Processing and OpenFrameworks.

Alan

23 Jan 2013

 

ofxFern by EPFL CVLab

ofxFern is not only useful in face recognition. It can help recognise all sorts of patterns, which inspired me of using it in my previous idea of logo recognition.

ofxMSAPhysics by Memo Atken

ofxMSAPhysics is an opensource, C++ 3D particle/constraint based physics library for openFrameworks 006+ and Cinder. Its main feature includes particles, strings, attractions and collisions. It is quite cool to make Pixar-style animation and data visualization, while the basic elements like particles and strings need to be tweaked before use.

ofxTimeline

Timeline library is used for reusing pieces from those big box applications like Aftereffects, Fireworks. It will be extremely useful when you want to add those effects in audio and video projects. What is more, data visualization will also depend on this library.

Bueno

23 Jan 2013

ofxGameCamera : This is something I remembered seeing during my time working at the Studio over the summer. While not particularly mindblowing, I think it’s good to have a general set of workhorse libraries – this might be one of them. I can imagine using it in a project requiring intuitive navigation of three-dimensional space. Such as one I might make with…

ofxFern : Yes, this is nothing new, considering Golan showed us the work by Camille Scherrer, le Monde des MontaignesBut I’ve noticed that most of what is generated from these images, though placed within three-dimensional space, is decidedly two-dimensional in and of itself. I would love to use Fern tracking to create miniature spaces generated from simple pictures, navigable using the FPS camera. Each might contain a small segment of a larger story (I am still playing with this, obviously). Perhaps this is infeasible, but I feel it might be a worthwhile experiment.

ofxTwitter : I once swore to myself that I would not mess with Twitter through code, but perhaps those days have finally passed. I have an idea for a project that involves automatically reading through the tweets of a user, noting things like frequency of tweets, word usage, and so forth, and from that data generate a song – a sort of aural atmosphere that defines the user’s social activity. I might then send that song to the user in question, or perhaps instead do a Tweet-concert as a performance using such songs. I like the idea of removing words, the essential units of our social networking, from the equation.

Project 1: TextRain

screenshot

Here is my reimplementation of TextRain. I am offering more of a proof of concept solution, so I could really keep things simple. The implementation process is the following: reading a text file with famous quotes on every line, at start initializing an ArrayList of all the letters from every loaded text line, positioned regarding their order in the sentence. Then on every frame I get a live video feed from my webcam and going through all “flying” letters, I check if they collide with these areas of the image that are darker then my “collisionThreshold”, if they collide, I keep the letter still, if not the letter continues down the road.

Code: https://github.com/kamend/IACD_TextRain

import processing.video.*;

// objects
class Letter {
  PVector vel;
  PVector pos; 
  char ch;
  color col;
};

// global vars
int videoWidth = 640;
int videoHeight = 480;
Capture cap; // video capture device

ArrayList(Letter) LetterList = new ArrayList(Letter)(); // the list that will hold the particles

float letterXOffset = 10; // how far we should draw the individual letters
float letterYOffset = 400; // how far every sentence should be
float collisionThreshold = 30; // haw dark the areas of collision must be
PFont font;

void setup() {
  size(640, 480);

  // initalizes video capture
  cap = new Capture(this, videoWidth, videoHeight);
  cap.start();

  // read text and launch "particles"
  launchSentences();

  // setup display font
  font = createFont("Helvetica Bold", 16, true);
  textFont(font, 16);
}

void launchSentences() {

  // read sentences from a file
  String lines[] = loadStrings("text.txt");

  for (int lineNum = 0;lineNum < lines.length;lineNum++) {
    String sentence = lines[lineNum];
    int setanceLength = sentence.length();
    for (int i=0;i height) {
      l.pos.y -= height+letterYOffset;
    }
  }
}

boolean isColliding(PVector pos) {
  float radius = 10.0;
  if (pos.y > radius && pos.y < = videoHeight-radius && pos.x >=0 && pos.x < videoWidth) {
    PVector pixelPos = pos.get();
    pixelPos.add(0.0, radius, 0.0);
    int pixelIndex = floor(pixelPos.x) + floor(pixelPos.y)*videoWidth;
    color pixelColor = cap.pixels[pixelIndex];

    if (brightness(pixelColor) < collisionThreshold)
      return true;
  }
  return false;
}

void draw() {
  update();

  background(0);
  image(cap, 0, 0); 

  for (int i=0;i= 0.0) {
      fill(l.col, 255 - abs(map(l.pos.y, 0, height, -200, 200)));
      text(l.ch, l.pos.x, l.pos.y);
    }
  }
}

Ersatz

23 Jan 2013

Screen Shot 2013-01-23 at 11.27.49 AM

Sifteo Cubes – Friends

Here is a small fun app I made, the idea behind is pretty simple. Every cube starts with a face in a normal mood, but once it got to make more friends (get paired with another cube), it starts to get more happier and more happier, until it gets little bit overwhelmed (4 paired cubes). Here is a list of the process of making this app:

  • I drew the faces in this great pixel art drawing app – Pixen (http://pixenapp.com)
  • Then I made a Processing app (code), for converting the bitmaps in drawing functions supported by Sifteo SDK.
  • Then I modified a little bit the “sensors” example, included in the SDK

It will be a bit more fun to play around with the real cubes, and not the simulator, but Europe shipping will be available in March. I will follow the development of this project, really closely, because the potential for creating great interactive kids games is a big one.

Demo Video:

The whole project on Github: https://github.com/kamend/IACD_Sifteo_Cubes_Friends/

Elwin

23 Jan 2013

ofxMSAPhysics // by memo

I selected MSAPhysics purely based on the fact that I’ve never worked with any physics engine/library. This add-on will add a lot of value in creating impressive visuals. Who doesn’t like flashy particles? I would be very interested in combining this with data visualization in some way, or create interactive interfaces with it.

ofxKuler // by alinakipoglu

I love Adobe’s Kuler website. I think it would be very interesting to use the color theme from Kuler to create for example texture patterns or other visuals. I also see potential with the reserve, to create your own theme through creative input other than the color picker. I don’t think the add-on currently supports the creation of your own themes, but it would be something to look into for development.

ofxSocial // by alonecloud

I’ve always wanted to create an application that talks and interacts with social media websites. I think there’s a lot of space to create personal experiences by pulling personal data into an interactive application. To avoid having to deal with privacy issues, abstract visualization of personal data would be the first thing that come to my mind.

Meng

23 Jan 2013

I didn’t play with open frameworks before. So among all tons of ofxAddons, I chose topics that interest me and add ons that may enable me to utilize in my further work.

ofxQualcommAR
http://ofxaddons.com/repos/69
I choose from the Computer Vision catagory. Augmented Reality is a facianating topic for me. It may let developer take advantage of the QualcommAR SDK to develop iPhone application using openframworks.

ofxPostProcessing
https://github.com/neilmendoza/ofxPostProcessing
Very cool effects! It can be good applied to music visualization. 3D colorful particles bloom/convolution.

ofxPd
https://github.com/danomatika/ofxPd
Pure data is very widely used in graphical/sound data programming. ofxPd is incredible useful and easy for these users. One thing to mention is that the documentation is very informative!

Ziyun

23 Jan 2013

{ofxPd by Dan Wilcox}

The ofxPd addon could be very helpful if you’re a Pure Data user and feeling more comfortable using Pure Data with sound related manipulation or prefer PD’s sound engine. It enables us to build patches in Pure Data and then directly use them in openFrameworks.

 

{ofxMSAPhysics by Memo}


A handy addon that simulate basic physics such as springs, attractors and collision. It could be very handy if you’re dealing with animations. It’s always fun to simulate “real-worldish” things in virtual environment and interact with them in the real world..

Also, he has a great fluid addon –ofxMSAFluid and music tempo detector ofxBPMTapper.

{ofxBackground – by JGL}

An openFrameworks addon to show several different methods of using openCV for foreground/background image segmentation

If you’re doing a project that would involve real-time cam streaming and needs to capture motions, I think that’s the very addon you want to try out. By tweaking thresholds and carefully choosing background, there’re many interaction possibilities..

 

Dev

23 Jan 2013

ofxAddons

ofxAirDigital

SInce its induction the Kinect has opened up doors in alternative interfaces – interfaces that no longer constrain the user in any way. The power of vision-based interfaces can be leveraged in an openFrameworks application using this addon. This addon can be used to let users interact with a screen using hand motions. A simple example of what this can do is would be letting users “splash” at a pool of water that is on screen.

ofxTextSuite

This plugin lets users manipulate font color, size, and other typographic properties. The power of this plugin can be seen in works that use kinetic typography when typographic properties are used in conjuncture with sound and other animations to communicate in a different way. I always found kinetic typography as entertaining but difficult to make well- something like this plugin would make the process a lot smoother.

ofxNodeJs

This one doesn’t have the best documentation, so I would be wary before using it. From my understanding, this plugin lets an openFrameworks piece function as a NodeJS server. I have used Node in the past and know that is a powerful way to create modern web applications. Something using this plugin would have access to any components or sensors available and be able to use data from these to directly configure the way the server behaves (say what HTML files the user sees as a means for personalization).

Andy

23 Jan 2013

HIIIIII

1. ofxSpeech – this is an addon for speech recognition and also speech synthesis. I haven’t tested it out, but I probably will for my addons assignment. The ability to recognize and generate speech is super powerful, and if it’s any good it should allow for an artificial intelligence to listen to you and make meaningful conversation. Actually, upon further brainstorming, I think I want to make my addons project be a robot that regenerates the same words that you say – like an echo but in a different voice – and I think if it’s loud enough and timed well I could throw people off so they lose track of what they were saying and have to stop talking. What fun!

2. ofxNameGen – this is an addon which generates names based on a seeded table. Something like this would be crucial if for example I made a procedurally generated game, or a series of procedurally generated characters, or if I wanted to become a famous rapper. (Did you know Childish Gambino got his name from a name generator?)

3. ofxBackground – this addon lets me separate the foreground of an image from a background, which could be utilized to give 3D effects to a 2D image. (Ie a perception of depth, especially for side scrolling). If this is really good, I’d love to see a game or installation which uses a set of locations and swaps out the background behind you in the image. Or we could delete the foreground and generate a level of a game based on the darkness or color of the background. I’d like to see some examples on youtube to see how good this is without having to plug it in and test it myself.