chainpullz wrote:
I'm not going to waste any more time trying to spell it out to you but the 3d coordinate systems with 0-2 rotational axis are all isomorphic to each other. Likewise for 2d since 2d is merely a projection of 3d. Thus adding a rotational sensor is no different from adding another translational sensor.
Sorry to break it to you chainpullz, but m3atlov3r is right in this case. I think you're confusing some issues here, just because a sensor is incremental (mouse) rather than absolute (tablet) doesn't mean it cant track accurately in an absolute reference frame. High accuracy machine tools almost always use incremental sensors because they're simpler than absolute sensors. Granted the sensors they use are way more consistent than mouse optical sensors, but they actually work in pretty much the same way. You just need to know where you started, then you know where you are based how far your sensor says you've traveled.
There will be some drift over time due to the inaccuracy of a mouse sensor, but with the good sensors we have in many mice these days, this effect is pretty small and takes a relatively long time to become a problem. This video does a good job of showing this effect for a couple of mice, and I'm not convinced that even these drifts are entirely due to the sensors or could be related to their testing jig:
https://youtu.be/wQxw-pX4dak?t=141 But even if you had a perfect sensor with absolutely no inaccuracy at all, you'd still get mouse drift, as in enough mouse drift that you could run out of mousepad after playing for 30 seconds, depending on the song/sensitivity/how you move your arm. The reason is as m3atlov3r says, the coordinate system in which the mouse is measuring movement
rotates with the mouse. Timo Timo's original post does a good job of illustrating this effect. Of course when we're playing we're not rotating the mouse 90 degrees, but we are rotating it smaller increments.
The mouse has 3 degrees of freedom, 2 translational and 1 rotational. Current optical sensors only read translational movement (there is no reason why they couldn't detect rotational movement, its just not implemented), so that leaves one degree of freedom unaccounted for, which results in the drift. If you measure the rotation as well, either by reading rotation from the existing sensor, or adding another translational sensor spaced a few cm away from the original, you could detect rotation and account for all 3 degrees of freedom. You could then use that information to track the mouse in an absolute reference frame instead of one that rotates with the mouse.
This does not eliminate the inherent inaccuracy of the sensor, but would make mouse drift a nonissue unless you're playing 30 minute marathons that have no breaks. Oooooooor you could just use a tablet and not worry about all this bullshit