I recall being pretty impressed with this augmented reality demo created by Boffswana last November. The basic idea is that you can use a webcam to track the real-world location and rotation of a special printed symbol. With this information, you can overlay a virtual object on top of the video stream and render it to match the position information of the symbol card. Called "augmented reality," the technique gives you a way to interact with digital entities as if they were physical objects.

You can create your own augmented reality programs without having to roll your own tracking code. There's a library called FLARToolKit that takes care of the heavy lifting of symbol recognition and spatial tracking. The code for the Boffswana demo is also available, and you can see how they used FLARToolKit along with Papervision3D to pull their demo off.

I should also mention that the FLARToolKit code could be used for purposes other than augmented reality. I'm sure there are other applications for a webcam-based input mechanism that can deliver accurate 3D location and orientation info.

What would you use this for?

FLARToolKit
FLARToolKit Examples At Tarotaro.org
Boffswana AR Papervision3D Demo and Source