This is a screenshot of one of the resulting paintings from an experiment using trackmate to create a tangible drawing interface. By placing special coded labels on the bottom of miscellaneous objects I had lying around my desk, I was able to assign a different function to each object. For example, a green candle drew green lines and a yellow one drew in yellow. Another one was a “universal” brush that took on the color determined by the rotation of a fourth object. Another object only erased, and one final one controlled the opacity of the brushes by its position.
The trackmate system examines an image (in this case coming from a cheap webcam) and looks for special coded labels. Each label contains a unique ID and also encodes its rotational direction. When trackmate identifies a label, it sends the id, position, and rotation to my software in processing which in turn draws lines.
The screenshot was taking during an interactive session where one person was controlling the color, the other was controlling the opacity, and the third was moving the brush.
The lines in the drawing are broken up due to the low resolution of the camera (this could have possibly been solved with interpolation). I need to calibrate the camera again (and really, buy a cam with a res higher than 640×480), and find a better surface that will filter some of the ‘noise’ from the scene. Still, trackmate behaved remarkably well given the circumstances.
The trackmate website has good tutorials on how to get a system up and running. My source code is provided to help get you started if you want to play around with the system, although I accidentally lost the final revision, so the code provided may not function as expected.