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 😉