Processing Paris workshop
On April 23 & 24, 2010 I’ll be teaching an advanced Processing, Eclipse & toxiclibs workshop as part of the Processing Paris activities organized by the talented Mr. Webster & David Abouna-Tomé from OFFF.
The Memory Tree
During the 2 days of the advanced Processing Paris workshop we will create an interactive installation called The Memory Tree. The installation will consist of a large projection of a generative, slowly growing 3D tree whose leaves are all made up from messages/thoughts left by visitors and workshop participants.
These messages can either be submitted as voice via mobile phones, Skype or IM, but will also be harvested automatically via tagged content from Flickr and Twitter. The tree will grow and become more complex with every new message collected and so slowly form a browsable history of its creation during the workshop, but also document the reactions of exhibition visitors. Visitors can interact with the installation via a mouse (or Wiimote, if we’re quick…) to change the view of the tree, zoom in, and focus particular messages/images or play recorded voice messages. There could also be a mode where the user directs a “cursor” freely between the various tree branches and listens to all voice messages associated with leaves in the cursor’s proximity. This playback would use 3D audio so that when the focal point is moved, the recorded voices move around in space accordingly and are creating an immersive audio collage. Voices closer to the cursor will play louder than ones further away.
The installation concept will nicely combine a number of different concepts, technologies and programming techniques. It’ll also educate participants about the distributed nature of technologies available and the importance of open standards acting as technological glue between them.
Amongst other things, we will cover:
- core 3D geometry techniques: vectors, matrices, quaternions, cameras, curves, texture mapping
- complex mesh creation with volumetric modelling
- working with OpenGL
- dealing with parallel processes using multi-threading
- working with 3rd party libraries (mainly from toxiclibs.org)
- multi-channel audio playback
- working with XML efficiently (using JAXB)
- parsing RSS/Atom feeds (Flickr, Twitter integration)
- working with (and creating) REST based web services
- designing an application data model
- object oriented architecture as key enabler for flexible designs
The installation will be obviously using Processing as core platform, however we will use Eclipse as development environment to make development faster, easier and more efficient. Participants should have a medium/firm grasp of Processing and feel comfortable with experimenting with new concepts & techniques with a looming deadline.
If you want to sign up for this, please head over to: processingparis.ning.com
The images are above and below are some very early explorations of a deterministic random 3D tree generator. I’m currently working on a proof-of-concept of some of the above ideas, mainly in order to help us be as efficient as possible on these two workshop days…
The images below are showing the combination of the generated tree structures above with volumeutils to create 3D meshes of the trees…