Interactive Forest

Interactive Forest Projection

During one of my classes at Carleton we were tasked with creating an interactive installation a few months ago. Though this project is a bit old now ( before the music visualizations ) I figured it might still be interesting to post as many of the lessons learned in this project were used to better optimize following projects.

The group I worked with decided to forgo Processing and use openFrameworks for speed considerations to create an environment that could interacted with by sound, motion, and blob-tracking ( people standing in front ).

The features we ended up implementing were:

  • Particles fields that linked to camera-detected motion to move trees, flowers, the rain, and clouds (using optical flow)
  • The ability to create more clouds by waving arms in front of screen
  • Clouds dissipate and disappear when there is no motion in front of screen leading to the sun getting larger and killing all the trees and flowers. Conversely, as clouds get more numerous the sun gets smaller
  • Once a certain number of clouds was reached they would start to rain which would then grow more trees and flowers
  • Once there are enough clouds raining clapping or stomping in front of projection will create lightning
  • The birds tend to flock towards the tallest person currently standing in front of the screen (using blob-detection)

And technologies/add-ons used in the building of this project:

  • Optical flow for motion detection to move rain, birds, trees, and clouds
  • Blob-tracking for determining where birds will fly and where grass will part
  • Verlet physics used to define movement of trees and flowers
  • Flocking algorithms used to control the birds movement
  • Basic FFT analysis for determining when someone clapped or stomped to create lightning
  • ruiThread for threading classes to better utilize the quad cores of Allan’s machine we used for demonstrations

The following video, uploaded by one of the group members Allan, demonstrates it being displayed at a pre-FITC party we were invited to show at. Though we had some trouble with lighting and sound levels, leading to difficult blob-tracking and sound detection, the motion detection and clarity of screen seemed to work relatively well.

A future presentation may also want to use some sort of pointers to guide users as to how to interact with it as the main difficulty was it not being immediately clear how it worked. Though, perhaps it could also be retooled to be more intuitive.

Group members involved in this project were:

Also a special thanks to our teacher, James Acres, for helping with some, er okay, many of the problems we encountered 😉

Comments

  • helvetica

    June 16, 2010 at 12:22 pm

    Thank you very much for that marvelous article

  • kvadrocikl

    June 20, 2010 at 11:48 pm

    Great article . Will definitely copy it to my blog.Thanks.

  • yty

    October 18, 2010 at 7:46 am

    Wow .. so beautiful … this project…
    How would you share it with the source code?
    Your works very much like to learn …

  • anthonyScavarelli

    November 28, 2010 at 8:21 pm

    I am planning to but it is kind of a mess right that only works on Macs. I will hopefully get up the source during Christmas break 🙂

  • jinik

    September 25, 2011 at 3:34 am

    I like this project very much.. (♥♥,)
    I really want to learn how you make it.
    now, I try to learn openCV and openFramework.
    It’s very nice if you want to share the source code.

  • BG mail

    October 1, 2011 at 5:59 pm

    I haven’t checked in here for a while since I thought it was getting boring, but the last several posts are great quality so I guess I will add you back to my daily bloglist. You deserve it my friend 🙂

  • jinik

    October 16, 2011 at 10:14 pm

    thx so much anthony. I feel so honored 🙂
    Last time, i tried to make simple app using Blob detection. This’s my first time using openFramework and my coding ability is not so good. Yey! but it’s work..
    Unfortunately, i have some problem with Optical flow,There’s “openCV error : input image depth is not supported by function ………..cvInitImageHeader…”
    i’m using ofxCvOpticalFlowPyrLK addon.
    Maybe anthony can help me… 🙂

  • anthonyScavarelli

    October 17, 2011 at 10:40 pm

    Hey Jinik I am not too sure what that problem could be. And to be honest I haven’t used OpenFrameworks in a while. Maybe try the forums? They are usually very helpful: http://forum.openframeworks.cc/

Cancel reply

Your email address will not be published. Required fields are marked *