Video Cube

 Movie made with Dynacord Turntable

 

1. The Idea

I was thinking about a photo-camera that works like a scanner:It would capture the columns of pixels after each other, from left to right, rather than taking the whole picture at once. The goal I had in mind was to reconstruct the effect you get if you move a piece of paper while scanning of copying it: It gets somewhat skewed.

2. Realization

Instead of taking a photo, I recorded a short movie of a scene and created a sequence of bitmaps out of it. Technically, a bitmap is a 2-dimensional array of pixels. The sequence of bitmaps then can be represented as a 3-dimensional array, which is (more or less) a cube.

Let's take X,Y and Z as the horizontal, the vertical and the time dimension. The movie is stored in cube(X,Y,Z). Then the resulting image can be created by the simple formula result(x,y) = cube(x,y,x) which means, that every pixel column (from left to right) is taken from the next bitmap. The bitmaps have a size of 720x576 pixels, so for one resulting skewed image 720 bitmaps are needed as input.

3. Movie instead of image

 

If the camera moves exactly one pixel-column per frame, there is no use to go from left to right through the cube. The resultig image then can be created by result(x,y) = cube(k,y,x) where k is some constant (0..719). This is an exchange of the X- and the Z- (time) axis.

LEGO gearwheels

Now it is easy to create not only a resulting image, but a resulting movie by creating 720 images. The exchange of X- and time-axis is applied to the whole cube, i.e. the whole input movie by result(x,y)[t] = cube(t,y,x) where t is the time (0..719). For a movie of a static scene, this transformation is the identity.

 

For the moving of the camera I used a turntable. At first, I used a Dynacord turntable that allows to adjust the pitch to ~1/6 RPM (the movie above is the result of this). But because of bad synchronization another solution was required. The Technics turntables have a fairly good synchronization, but the problem was that they don't turn at the desired speed. The solution was LEGO. With a translation of 1:243, that can luckily be realized by the available LEGO gearwheels, and a base rotation of 45 RPM - 8% of the turntable, the resulting speed of the camera on top of the LEGO construction matches the needs.

View the movies here.

 LEGO construction

4. Arbitrary input movie

For arbitrary input movies that are not made using a moving camera, a similar effect can be gained by result(x,y)[t] = cube(x,y,x+t) . Here you will find a movie made like this.

Furthermore, the webcam video cube works with this formula.