Posts Tagged ‘projector’

Hunting glitches

Wednesday, March 16th, 2011

Recently I made some more experiments in Generative Photography. I went a bit deeper on analyzing the glitches caused by the rendering and the asynchrony between the frame rate of the video signal and the refresh rate of the projector. The experiments pursue an artistic exploration to achieve a certain aesthetic outcome more than a research on computer engineering. Thus, how these glitches are generated and why they behave as they do has not been analysed. However, there are some observations in the following lines.

First I tried repeatability, these are three pictures taken consecutively at 10fps:

The glitches never look the same but they are always distributed along a line in the same height of the image. If I restart the sketch in Processing, the position of the glitches change – in this case, the glitches are on the very top of the picture.

And following pictures that were taken after this one have the glitches also in the top. So it seems that there is a relation between the position and the moment the sketch is started. I don’t know much about computer engineering so suggestions on why that happens are welcome. Maybe it depends on the position of the computer’s or graphic card’s clock at the moment of starting the sketch?

Afterwards I decided to play a movie with Quicktime while running the sketch, to see how the processor’s activity affects the glitches. And it does quite a lot – in these three images taken consecutively it seems that it stabilizes the rendering:

In the next experiment I used the same sketch with different frame rates ranging from 10fps to 100fps. Here some examples, keeping the aperture and ISO constant:



An example of how much patterns change only adding 1 frame per second.






I wanted to know if the exposure time of the different gray shades in a given picture are multiples (so the brightest grey has been projected n times the time the darkest grey has been projected). After slightly blur an image in Photoshop to reduce variability, I measured the four grey levels using the color picker.

I repeated the measurement in four different photographs, obtaining values that I centered and put them on a graph.

The curve kind of adjusts to the logarithmic formula of exposure value. It seems then that the different shades of grey come from multiple units of time exposure (e.g. 0,2sec, 0,4sec, 0,6sec, etc.).

Another interesting detail, sometimes the glitches are not clean cuts of rectangles but have some tooth, as shown in the picture:

The following are a few examples of some pictures created with this technique.

Colored rectangles with overexposed and underexposed bits. Probably none of the two colors that differ in luminance are the color that was projected since it depends on the time exposure.

Vertical and and horizontal rectangles projected sequentially:

Circles with huge radius with a random component that make them overlap creating overexposed areas (in yellow):

Stripes with color variation, following the projected sequence with a white surface to paint create relief:

Combination of different patterns triggered manually, projected at high framerates, adding a certain degree of randomness to specific variables:

Same principle as the rectangles from the top of the post, in concentric circles:

To conclude this post, a screenshot I took while designing Generative Photography’s website. Talking about digital glitches:

More pictures in the website of the project:

Generative photography

Sunday, February 20th, 2011

The picture above has been generated projecting white vertical rectangles, from left to right, at 25fps, to a projection screen. A camera, set to long exposure, captured the projection in 5 seconds. The rectangles aren’t homogeneous due to the rendering and the asynchrony between the frame rate of the video signal and the refresh rate of the projector.

The light grey rectangles have been in projected (and thus, exposed) double time than the dark grey ones. The brightest stripe has probably been projected three times the dark grey ones, and there is a rectangle that hasn’t been projected.

I’ve been doing some experiments using Processing to generate different patterns and sequences, a projector, and a camera pointing to the projection screen. Some of them are using a technique called procedural light painting, some other combining slit-scan with projected patterns. I’m also very interested in the low repeatability of some of these experiments, like the picture above, due to the noise introduced by the asynchrony of generation, communication and output means. Maybe we can call it Generative Photography.

The following pictures are generated projecting a vertical lines, one after the other, and then the same with horizontal lines (25 fps). Lines have 3-pixel stroke, and move 4 pixels each time, creating a double exposure every two lines. Plus the error introduced by the asynchrony.

At 18 fps:

Projecting vertical rectangles instead of lines:

The following pictures are generated projecting white squares sequentially, from left to right and top to bottom. The effect of tiled wall is due to a small movement of the projection screen – the edges od the squares don’t match perfectly, creating overexposed areas (the white ones) and non-exposed areas (the black ones):

At 32 fps lots of squares are missed because the asynchrony:

It’s interesting to play with two technologies that have a specific rate of refresh and communication (sketch and projector), creating this asynchrony, but being able to capture the whole result using the long exposure of the camera. Most of the times there are unpredictable results, even after seeing the projection on the screen. There are squares that are generated but not projected. There are squares that are projected but the naked eye doesn’t see.

Adding some perspective to capture more volume:

Using color squares:

Squares with stroke, no fill:

Vertical and horizontal lines, sequentially:

The following pictures are 1 second exposure – 0,5 seconds projecting white concentric circles and 0,5 seconds projecting the complementary image, so overall the whole surface is covered with light. In the first one I’m moving after the first projected image, so the second set of concentric circles don’t catch me in the same position – it feels like I’m behind them.

In the next experiment I’m projecting one circle each frame (at 25 fps), increasing the radius in 1px each frame. Different objects are placed on the line of light.

Changing the position of the projection screen the projected circles overlap and over-expose some areas, or leave some areas without exposure, creating an amazing effect. I used a 3-pixel stroke weight line – if the movement of the canvas is fast, it gets a bit blurry since areas are exposed 3 times in different positions. I did this because using 1-pixel line it wasn’t enough light to have the desired contrast. Next photos are 20 to 30 sec exposure.

The detail of the pattern is quite interesting, created by the pixelated source of light from the projector.

I used also a piece of lycra as projection screen to be able to move the canvas in a more flexible way.

Then it’s easier to pull or push the fabric, or move one of the corners. It’s also interesting to pull and release, capturing the waving of the fabric returning to its stable position.

I took made many other tests with this configuration, all of them resulted to be quite beautiful:

I’ll continue experimenting with this kind of photography. I’m interested in introducing feedback to the projection, so it reacts on what the camera is capturing, in real time.

For more pictures and information about the exposure times, aperture, etc. you can check my Flickr.

Testing a flat screen as surface for animation

Sunday, August 1st, 2010

After the Industry project with Lego and a two-weeks break in Barcelona, Menorca and Melt Festival in Berlin, I took up again with my final project.

Analising pros and cons of the projector setup together my advisor Vinay Venkatraman, we found interesting to explore another option to display the tutorials, using a flat screen.

Pros of the flat screen (comparing to projector): cheaper, less space needed, less problems with environmental light to have a good contrast.

Cons: it doesn’t have the magic of the projector, specially to project the movie as in cinema. And… reflections!

In order to have a resistant surface to place the object for the animation, I cut a piece of acrylic. The screen is non-reflective, but with the acrylic, it is, so the camera is reflected and appears on the image.

The surface has to display a sharp image, and it has be: non-reflective, resistant, and nice. It has to be nice because it’s the main surface of the product, children will be touching it all the time, and will be the background for all the pictures – I think mat black would be the best. I tried to cover the acrylic with different materials – fabric, tracing paper, translucent plastic and acrylic, … non of them were convincing, either for the quality of the image or the color of the surface.

I found a non-reflective film, quite tricky to stick on the acrylic, that almost worked, but the finish wasn’t nice. Apart from the bubbles the color was a heterogeneous grey, instead of the homogeneous black that it should be.

The best result I achieved was by painting (not opaque, just a bit) a piece of acrylic using black spray. Then I stuck the film, and the result was good.

I’m happy with the result, the image is a bit less bright that without the acrylic, but the surface is much nicer than the acrylic without paint.

I should find a way to paint the acrylic more homogeneous though – or a graffiti painter that helps me do it!

Projectors and mirrors

Saturday, June 19th, 2010

Two weeks ago I made some experiments test some technical aspects and possibilities for the setup of the stop motion animation kit. Still to decide if it will be a kit for schools, a toy for home, an application for iPhone/iPad or a game for PlayStation, I wanted to understand a bit more about these possibilities and the technique of stop motion itself.

I started testing the angle and distortion of the projector. Although for the final prototype a smaller projector might be better, I started testing with mid-sized and powerful one. Some days ago I tried a pico-projector in a shop and it’s not bright to show sharp shapes even on a dim-light room, and it needs a certain distance to show a frame of 50cm wide. And the more distance, the less brightness… The positive thing is that it doesn’t get hot at all, and you can embedded in a case or box.

Trying to achieve a compact setup (that can fit into a box) I considered to put the projector vertical and use a mirror to project the image to the table. I’ve learnt that the projectors have a projection line – while using mirrors, you need to keep this line getting perpendicular to the final surface of projection to avoid distortion. In the projector I’m using, the projection line is even outside the projection range:



I built a stand for the projection that allows to regulate the height and angle of the mirror.


This setup allows to project the tutorials for the children on the table, and with a small change on the angle of the mirror, to project the movie on a wall. The distortion on the table is quite high. Using the camera it’s possible to recognize the deformation of the image and correct it automatically (projecting a pattern, calculating the distortion and adding the conversion accordingly). This could be done with Processing with some mapping applications like Keystone or ProjectedQuads. The squared area after the correction would be pretty small though.



Probably this is not the best setup for testing the tutorials because the distortion, but gives an idea of the distances to the table and wall, angles for the mirror, and size of the working area.