Wiimote Project
Wiimote Projects => Wiimote Interactive Whiteboard => Topic started by: Acapulco on January 13, 2008, 07:02:00 PM

Hi, i just read a post about the math behind the whiteboard, and I too can't figure it out. I read the whole project code and I understand almost everything, except some particular C# stuff which I believe I can find in some tutorials. My problem is with the Warper.cs file.
I see the identity matrix is set and that the source matrix is formed with 4 points (x0,y0 through x3,y3) and I understand the matrix multiplication function , the thing is, I can't seem to figure out what does the computeSquareToQuad, computeQuadToSquare and warp functions do.
I believe they are supposed to translate the IR led's position to screen coordinates, am I right? can someone explain the math behind it or point me into the right direction to read some literature please?
I would like to study the possibility of using 2 Wiimotes, one on top and one sideways on the board so as to increase resolution but first I gotta see the math behind it.
Thanks a lot!

... Isn't the source documentated?
Lol, you dont see that much.

It is documented, but not the math parts. I just need to know roughly what's Warper.cs job inside the program, the particular math I can figure out. For example "Warper.cs will take a matrix with the IR points and multiply it with whatever to get a matrix with this and that characteristics so it can be mapped to the screen". Or something similar.

As far as I can tell it uses a process called "pixel coordinate translation" using a stereo camera algorithm but with the Z(depth) component fixed. The use of stereo algorith gives a better output but is far more complex than a single camera translation. If you wanted to add a second remote control the warper.cs class would need to be changed considerably to accept parameters from both controls; also the maths may require more calibration points, depending on whether both cameras are lookingat the same screen or will they be used with a fixed depth (as is the case now) but to extend the whiteboard area.

Hey, thanks a lot luke. I will look into this technique and post anything new that I can figure out.
Again, thanks a lot!

Hello,
Anyone know about any document who explain the theory behind the calibration method that Johnny Lee uses? I've implemented the code in Delphi and that works great! But i really need to understand what the algebrics functions do... Excuse me for my english! :D
Thanks for help,
acosta11