本帖最后由 wheel_mouse 于 2012-6-27 10:05 PM 编辑
直线修正之殇
——论logitech M525的跑偏(原创)
最近入手一只罗技的M525无线鼠,发现很多人都提到了所谓的直线不直现象。话说之前还真没怎么注意,检索了一下发现大家说是所谓直线修正的原因,也即小于某个角度的偏离将被自动修正,既然如此,为什么还会有这么多人反映,即便鼠标走的是直线,但画出来的线仍然会向下偏离呢?这里进行了一点不严谨的分析,夹杂很多臆测,希望能帮助大家理解这个问题。
说到鼠标定位的原理,泡这个论坛的筒子应该都能说上个一二三来,这里简单叙述一下,方便后面分析。光学鼠标的定位简单说就是一个拍照加图像处理的过程,一束光通过LED发射到介质上进行反射,进入传感器,传感器将捕捉到的图像进行分析,从而判定操作者的意图。具体如下图所示。
根据所用光线波长不同,可以分为蓝光、红光、不可见光(多为红外光),波长依次递增,能量依次减小,理论上最大分辨率也是依次减弱。根据图像处理原理不同,可分为激光(相干光)和普通LED光(非相干光),区别是激光是单一波长而普通LED光的波长是有一个范围区间,理论上,激光鼠标也可以发出红光或者蓝光,只是所需能量会比较高而且由于其准直性几乎可以当激光笔用,所以一般用波长较长的红外波段。罗技和微软就是两种不同的思路来研发鼠标。微软是采用波长更短、分辨率更高的蓝光来提高其在不同介质上的分辨率(相当于把照片拍的更清楚),而罗技则是用虽然波长较长但相干的激光生成干涉条纹来定位(根据这个原理,激光鼠标在某些周期介质上应该无法使用,因为判断不出干涉条纹的区别,同理,因为其只根据干涉条纹而非真正的图像来判断位置,所以碰巧遇到不同位置干涉条纹一致的情况就会丢帧,罗技曾经出过采用双光头不同波长的激光来解决这个问题,不过成本较高)。而M525采用的却并不是激光引擎,而是红外波段的普通LED光,所以理论上定位精度应该不是很高,甚至还不如传统红光,但相信罗技的技术能够弥补硬件上的降低,常规使用肯定是绰绰有余了,而且红外普通光有个好处就是能量低,省电,这也是无线鼠标的最大诉求吧,所以M525才有了两节5号电池用三年的底气。
说过了定位原理,言归正传,下面分析一下鼠标为什么会跑偏以及直线修正的作用。根据前面原理分析,我们知道鼠标定位是通过分析图像来判断位置移动的,更具体一点,对于普通光电鼠标来说,是分析光线投射出的阴影。根据前面的原理图我们可以知道,阴影的方向是由投射光源位置唯一决定的,也就是说鼠标自己的坐标系是近似以感光器位置为原点的极坐标系,其坐标轴是由鼠标决定的,而不是鼠标垫之类的,简单说,就是你把鼠标感应器位置固定,以其为圆心把鼠标转一圈,其坐标轴也是跟着转一圈的。一个很方便的证明就是当你把鼠标横置,沿鼠标纵轴方向前后移动(实际相对于鼠标垫是左右移动),光标在显示器上面也是上下移动的,而非左右移动。换言之,鼠标能感知到鼠标的“头”在哪里,并依此建立坐标系,这是跑偏的关键所在!通过下面这个我画的示意图我们能很容易的看出问题所在。
当你保持鼠标的坐标轴与鼠标垫(绝对坐标系,与显示器保持一致)的坐标轴始终保持平行的时候(如图中I的情况),把鼠标平行的从A点移动到B点,在显示器上对应显示的也是一条直线,这时不存在跑偏的现象。那么大家有都的的确确观察到了的直线不直是怎么回事呢?这就是图中II所示的状态,即开始时鼠标与绝对坐标系存在一个夹角θ。这种情况是很常见的,因为大家基本都是右手持鼠标,而鼠标又放在键盘的右边,最舒适的方法就是鼠标略偏向左前方,也就像图中A点处示意的样子。而在鼠标左右移动的时候大家往往都是手腕移动,这个偏离的角度会慢慢的被纠正过来,如图所示B点处(大家试一下就知道了)。所以同样从A点到B点,I和II两种情况在绝对坐标系中(即鼠标垫上的位置移动)是一样的,而对于鼠标来说则完全不同。对于处于极坐标系中的感应器,在II中,除了移动了一个位移,还对应着一个向右下方的夹角θ,如图中虚线所示。所以其将这种位置变化反映到显示器上就如实线所示,会向右下方移动到B点,而不是平直的演虚线移动,也就出现了所谓的跑偏。同理,如果你开始时鼠标是向右上方倾斜按此画直线的话,显示器上的直线就会向右上方偏。这就是鼠标将真实的原始位移反映出来的情况,也就是M525等没有直线修正的鼠标的表现。而那些可以画很直直线的鼠标大都是有直线修正的,也就是说,如果小于某个角度的偏移会被忽略,在II中就是其会沿虚线移动到平行的B点(实际上从A到B角度不是突然变化的,而是逐渐改变的,所以修正量远小于θ即可达到这种效果)。其实说起来,如果这个角度不是很大的话,有适当的直线修正似乎更符合大家的习惯,毕竟谁也不会天天拿尺子比着去走直线。至于对游戏性能的影响,我想通过上面的分析大家也有所感觉,轻微的修正应该不会有太大的负面影响,毕竟不修正的鼠标反应也不符合大家使用的习惯,而且通过分析也能看出,甩狙要用手臂而不是手腕,看来也是有理论依据的(半径越大,θ角改变越小)。
写到这儿,我想大家对于直线修正和罗技最近鼠标跑偏的原因应该有所了解了,对于这种改变,我想一句话总结就是:表示影响不大,但有适当角度的直线修正似乎更符合一般使用的习惯。毕竟现在需要画直线的软件都可以两点连线了,真正用手绘作图的似乎还是用绘图板的比较多吧,所以对于这种修正,可能罗技觉得与其把握不好度索性就不要了,毕竟习惯了就好了,省的不同鼠标的修正值不一样还得适应。好了,就到这里吧,很多表述可能不太准确清楚,大家就忍了吧,谢谢观赏!
|