Reality Cubed




Some time ago (almost a year ago, I think) I was playing with some ideas about manipulating video. My thinking was that video could be conceived as a volumetric texture. In other words, each frame of video could be stacked to create a 3D volume. Passing an arbitrary projection plane through this volume would lead to some interesting effects. Because the depth (z) dimension of this video is effectively time, an arbitrary plane of intersection would allow you to play with time and space on a 2D area (the screen). I was hoping this might allow people new sensory access into time and space, and thus allow for the development of a different appreciation of reality.
Of course, as with anything that has become programmatically trivial, this idea is not new. My favorite example of slicing video volumes is the Khronos projector project, which lets you deform a z axis-aligned projection plane interactively. Talking about some of my ideas with Mitchell revealed that his brother had also been toying with ideas about video volumes and intersection planes. Indeed, even before digital technology, photographers were playing with slit shot photography. In fact, here’s a page listing around a dozen projects that do similar things.

So anyway, the ‘Net’s nothing if not replication and redundancy, so here’s my contribution. I wrote a small program in C that runs as a command-line application to process image sequences (it does not work with video files, so you need to export them to image sequences before processing, which is a pain). The program’s pretty simple and should compile on windows, Mac or Linux assuming you’re configured the FreeImage library right. You can download an executable for PPC Mac 10.4 here, or grab the source code here (.cpp and .h – you’ll also need FreeImage). Go have a look at the full page for a more expanded description, screen shots and video examples of the process in action. It’s fairly mind bending stuff.

Create a free edublog to get your own comment avatar (and more!)

No comments yet. Be the first.

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image