First steps with Multitouch

I’ve been researching Multitouch for the last month or so over at the NUI Group website. There is a wealth of information on how to build multitouch tables using several different approaches all of which are fully documented on the forum and wiki. In addition to this there are open source frameworks, libraries and demo applications. Using all this information and free software, a fully functioning multitouch table can be assembled for less than a grand.

Before committing to full table, I decided to build a very basic version by following this superb tutorial:

Using only a webcam, a cardboard box, some tracing paper and a picture frame, I cobbled something together in about 10 minutes.

In terms of software, I decided to use tbeta A.K.A. CCV (Community Core Vision). This picks up and analyses the shadows on the diffused surface using blob detection. These results are broadcasted using the TUIC protocol and can be translated by platforms such as Flash, Processing, openFrameworks, C++, C#, Java etc. I was suprised how simple it was to set up. Within 30 minutes I dragging/resizing pictures, finger painting and all sorts using the demos.

So, time to start creating a few toys then.

AR Business card

Inspired by this guy, I just got a fresh batch of business cards from moo.com. There’s not really enough space on a business card to explain yourself in any detail so I thought I’d extend it using augmented reality. I recorded a short video bio and created a 3D grid of coloured planes. These colours are updated with the those from the video. The planes are extruded depending on the level of brightness.

***EDIT***

This is now online for all to enjoy. First print out this. Then go here.

Augmented Reality competition win

FDT Enterprise
YAY! My first Papervision/AR experiment has won a competition on the Papervision forum for best Augmented Reality Demo. The first prize was a copy of FDT Enterprise. I have used FDT for the past 2 years and love it. It’s by far the best Actionscript development environment I have used and the new features will come in very handy indeed.

Big thanks to everyone who voted for me, to John Lindquist for setting up the competiton and to the guys at PowerFlasher for putting up the prize.

AR Particle Beam

So I thought it was about time I jumped on the augmented reality bandwagon. Rather than the obligitory 3D model I decided to make something a little different. I’ve used 3D lighting techniques and physics here to create this beam of light surrounded by strange celestial light particles.

If you would like to interact with it, first download and print out the marker here then go here for a live demo.

Big thanks to a few people. First and foremost Saqoosha, the clever chap who created the FLARToolkit library, a port of the C++ library ARToolkit. Mikko Haapoja for providing a fantastic introduction to using FLARToolkit. Eric Socolofsky for building the framework FLARManager which makes working with FLARToolkit a sinch.

Incidentaly while making this, John Lindquist started an augmented reality competition on the Papervision forum. I’ve decided to enter it (hence the Papervision Logo on my marker – rules of the comp, not sucking up) so please feel free to vote for me on the forum. :)

For those of you who are interested, you can download the source code here. It’s an FDT project but it shouldn’t be too difficult to convert it over to your favourite development environment.

Virtual Ribbons

This artwork allows the user to experience an augmented reality in which the flow of ribbons and particles can be controlled. It works by capturing a colour from an object (in this case, a green glove and the light from my mobile phone) and then using this object to drag the ribbons around the screen.

I won’t be releasing the full source code for this but I have released the source of the two key elements used in this sketch. These are the colour detection and the 2D Ribbons. In my opinion this is the best way to share code for larger projects. Smaller context specific code snippets are far easier to look through and experiment with than entire projects. And if people want to build the final artwork, stitching together the various pieces and adding their own code is a great learning experience.

2D Ribbons

2D Ribbons

I’ve been toying around with Eric Natzke’s Ribbon code and have managed to port it over to Processing in 2D form. Although the result and code are both very different to that of Natzke, it retains the original technique for building the ribbons. You can play with it and download the source here.

More ribbons can be added by changing the ribbonAmount variable. The colours are chosen from an image, in this case, “rothko_01.jpg”. This must be kept in the same folder as the pde files or there will be an error.

PING range sensor setup

I was recently asked for some help from someone having problems using 2 PING Ultrasonic range sensors. I promised to send some pictures of the setup as I hadn’t provided information on this in my previous post. So just in case anyone else is having problems, here they are. Hope they can help.

PING range sensor setup

Colour detection in Processing

This is part of a Processing project I’m currently working on. This sketch allows the user to select colours from webcam input. The input is then analysed and a rectangle is drawn around all pixels close to the chosen colour. Up to 2 colours can be used for this sketch. This is similar to the getColorBoundsRect() method in the BitmapData class in Flash.

Click here to see the video on Vimeo

You can download the source code below:

colour_detection.pde, CoordsCalc.pde

Be aware though that in order to use it you should be in a well lit room with a good quality webcam. You might also need to fine tune your webcam settings. To select a colour, place your object in the red box in the bottom right hand corner of the frame and press 1 or 2.

Keys:

p to view the rectangles
1 to select the first colour
2 to select the second colour
0 to reset colours

Next Page »