来老铁干了这碗代码 2020-03-30 23:22 采纳率: 75%
浏览 360
已采纳

鼠标怎么知道我们向左划还是向右划??? 求解惑?

不小心把鼠标摔开了,看着里面漂亮的主板,我不禁思考原理:已经弄明白两个问题:

1、鼠标通过光感判断是否应该驱动:鼠标底部有一个洞,内部有一个弱光灯,可以通过小洞向外界散发光。与平面物体接触后,灯光无法向外部发射,于是内部光强变大,照射到光感器上,促使鼠标做好驱动准备。

2、鼠标通过齿轮进行机械传动带动滚轮滑动。

但令我百思不得其解的是:鼠标怎么知道我们把他向右移或向左移了呢?这显然不是光强能解决的问题,我不太认为一个小鼠标里安装了方向感应器。那么到底是什么原因呢? 大佬们可以答疑解惑吗?

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-03-31 00:03
    关注

    光电鼠标内部有一个发光二极管,通过它发出的光线,可以照亮光电鼠标底部表面(这是鼠标底部总会发光的原因)。此后,光电鼠标经底部表面反射回的一部分光线,通过一组光学透镜后,传输到一个光感应器件(微成像器)内成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像,被光电鼠标内部的一块专用图像分析芯片(DSP,即数字微处理器)分析处理。该芯片通过对这些图像上特征点位置的变化进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。

    这就好比,你在一辆车上,看外面的景物移动的方向,就知道车的方向(相反)。
    这也就是为什么没有鼠标垫,在光洁的反射表面,鼠标就失效了(找不到参照物了)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题