Projection mapping is making projections in a way that they match the surface they are projected on. This way we can use projector for something much more interesting than flat powerpoint presentation like VJ projections. As I was invited for vivisesja this year I decided to play a bit with Processing and see what I can do during two weekends.
2D in 2D – This is how I call projecting 2D graphics on flat (or almost flat) surface. We have some cool pipes going across room and wall in our studio so I chose them as my projection target.
Equalizer – first test was simple. I have audio reactive bars and I want to project them so they match the pipes. How to do that? I made a sketch that displays 4 rectangles. I was doing it by hand in code so I spend some time to make them match the pipes perfectly. This gave me a mask that I could use for limiting projection only to the pipes. Having positions of the rectangles I programmed animated bars so they matched this positions. Results were super good, as expected

The only trick here is to adjust projector brightness so the black is invisible on the wall.
Sunset – it’s time for some magic. What would happen if we invert the mask so we project everywhere beside the pipes?

People usually say that’s the best one of my first tests. It’s somehow counter intuitive and surprising when watched for the first time.
The only issue with this one is that when observed from a side you get shadows from the pipes so it doesn’t look so good anymore.

Sunset – this time I wanted to play with some more complex mask and couch next to the pipes looked like a perfect target. I took a photo of the couch, draw an outline of it, filled the shape with white and projected it back on the couch.

Of course my shape wasn’t perfect so I had to retouch it a bit to remove all the gaps. I made a Processing sketch that was constantly reloading the image for projection so every time I pressed Cmd+S I was able to see the changes almost realtime.
Want more (especially large scale) projection mapping examples? Look at this, this, this and this.
Tags: processing.org, projection mapping
Cool stuff. Though for the couch one would probably need some kind of image recognition system so that the pattern would not be projected on the sitting person.
[...] design – code – interaction Marcin Ignac’s thoughts on mixing technology with art and design. « Projection mapping in the office [...]
hey marcin,
this is great stuff..
i need to learn this also.. please send me some links so i can start learning..
you are my programing guide as always.. haha..
good work man.. really amazing.
keep it on. i will find you a project in india so you can come and do some crazy shit in some event here….
take care
uj