The mouse is the leading input device for desktop computing. It offers excellent speed and accuracy for most desktop computer interactions. In spite of its good performance, a 2DoF controller can be limiting for 3d interactions. Most 3d applications that use a mouse rely on azimuth/declension which can require complicated maneuvers to achieve certain perspectives. With an optical mouse, it is possible, in principle, to track rotation in addition to translation to provide a 3DoF controller (x, y, theta). This could be useful for 3D interactions that invovle a mouse, since proper rotations require three degrees of freedom.
Following up on this idea, I have created an early prototype implementation of how this might work and feel using a web camera duct taped onto the side of a mouse. The source code is available on (github).
The tracking on this prototype is still limited, but you can see a demo below: