Multitouch interface using WiiMote

Recently I’ve read about people that used the WiiMote in unconventional ways by including the great infrared camera in the WiiMote to track infrared signals. The most famous of them is Johnny Chung Lee (his blog is here: http://procrastineering.blogspot.com/) that used it to build a multitouch interface, head tracking or a virtual whiteboard (see projects here: http://johnnylee.net/projects/wii/). All this seemed very interesting but unfortunately I didn’t have time to try anything. So, when a similar project appeared on the project list for this semester’s A.I. Project, I jumped at it. I was afraid I wouldn’t get to choose it but it turns out I was actually the only one enjoying this.

I will describe shortly what my project consists of. I will have to develop an image search engine, that would sort images based on features such as colors or shapes. Then these images would be displayed to the user in a 3D interface, using a sphere, with the most relevant in front. The user will interact with it using the aforementioned multi-touch interface and rotate, move or zoom the sphere. He will also have the possibility to give some feedback to the engine about the relevance of the returned images by dragging them to “Relevant” or “Non relevant” areas. And then the whole process would start again.

Now, for this project I chose development in C# using XNA for the 3D part. The main reason for this was that there is already a library for WiiMote usage coded in C#: http://www.codeplex.com/WiimoteLib

another reason being that I also started a few months ago playing around with the XNA framework and this was a good chance to look into it some more. For who doesn’t know, Microsoft XNA is a wrapper for DirectX that also contains very nice and easy to use interfaces to code fast for Windows, XBOX 360 and Zune. More info here: http://creators.xna.com

more to come…