A. 我在做一个基于单片机的鼠标,鼠标移动的算法上想请教,怎么才能让它任意角度的走现在我只能直着横竖的
MicroSoft 公司标准:
MICROSOFT FORMAT
字节 字符(B i t)
7 6 5 4 3 2 1 0
BYTE1 1 1 L R Y7 Y6 X7 X6
BYTE2 0 0 X5 X4 X3 X2 X1 X0
BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0
注释:
L = 左键状态
R = 右键状态 1 = 按下 0 = 释放
X0-X7 = X 距离
Y0-Y7 = Y 距离 X7或Y7为±符号位
串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。
B. 按键精灵(计算鼠标移动轨迹)
鼠标移动是移动到一个点,范围移动是鼠标随机移动到一个点
鼠标移动 x,y
鼠标范围移动 x起点,y起点,x终点,y终点
手机打得不够详细
C. 怎样制造鼠标的轨迹
这种效果是无法达到的,既然可以控制鼠标,为何不点击鼠标呢?
具体做法还是需要运用自定义动画。图片A上放一张图片B,然后为图片B设置动画效果。
自定义动画—进入—出现。之后再为图片B设置一个动画。自定义动画—退出—消失。
这样的话,你点击鼠标,图片B出现,再点击一下,图片B消失。如果非要制造鼠标划过的效果话。
可以将鼠标移到图片B上再点击。希望对你有帮助。
D. MATLAB鼠标轨迹问题
将下面所有内容保存为dsa.m后运行即可。
function dsa
figure('WindowButtonDownFcn',@md);
axes('XLimMode','manual','yLimMode','manual');
hold on;
function md(src,eventdata)
ud=get(src,'userdata');
cp=get(gca,'currentpoint');
x=cp(1,1);y=cp(1,2);
plot(x,y,'r*');
if ~isempty(ud)
line([ud(1),x],[ud(2),y]);
end
set(src,'userdata',[x,y]);
E. 70.光电鼠标轨迹移动原理,请做系统解释
光电鼠标的工作原理是:在光电鼠标内部有一个发光二极管,通过该发光二极管发出的光线,照亮光电鼠标底部表面(这就是为什么鼠标底部总会发光的原因)。然后将光电鼠标底部表面反射回的一部分光线,经过一组光学透镜,传输到一个光感应器件(微成像器)内成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像。最后利用光电鼠标内部的一块专用图像分析芯片(DSP,即数字微处理器)对移动轨迹上摄取的一系列图像进行分析处理,通过对这些图像上特征点位置的变化进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。
光电鼠标通常由以下部分组成:光学感应器、光学透镜、发光二极管、接口微处理器、轻触式按键、滚轮、连线、PS/2或USB接口、外壳等。下面分别进行介绍:
光学感应器
光学感应器是光电鼠标的核心,主要由CMOS感光块(低档摄像头上采用的感光元件)和DSP组成。CMOS感光块负责采集、接收由鼠标底部光学透镜传递过来的光线(并同步成像),然后CMOS感光块会将一帧帧生成的图像交由其内部的DSP进行运算和比较,通过图像的比较,便可实现鼠标所在位置的定位工作。
F. 光电鼠标图像定位(或轨迹)问题
鼠标垫被相干光照明后散射,会形成空间散斑,鼠标的成像系统拍摄的就是散斑的图样。散斑的图样取决于被照明的区域,所以当鼠标移动,被照明的区域在变化,成像出来的散斑图样也在平移。通常对散斑图样平移的检测采用临近图像相加或相减,可产生类似杨氏干涉的条纹。但光电鼠标内部用的是不是这个算法我不能确定。
G. C#中怎么用代码去控制鼠标的移动轨迹
在代码中加入以下外部函数声明: [System.Runtime.InteropServices.DllImport("user32")] private static extern int mouse_event(int dwFlags,int dx,int dy, int cButtons, int dwExtraInfo); const int MOUSEEVENTF_MOVE = 0x0001; const int MOUSEEVENTF_LEFTDOWN = 0x0002; const int MOUSEEVENTF_LEFTUP = 0x0004; const int MOUSEEVENTF_RIGHTDOWN = 0x0008; const int MOUSEEVENTF_RIGHTUP = 0x0010; const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; const int MOUSEEVENTF_MIDDLEUP = 0x0040; const int MOUSEEVENTF_ABSOLUTE = 0x8000; 然后就可以通过以下代码来实现鼠标移动的控制了: mouse_event(MOUSEEVENTF_MOVE,x,y,0,0); //x,y是移动到的坐标,这个需要你自己计算哦! 如果你想移动出一条轨迹来,就要把轨迹上每个点的坐标都计算出来,都用上面这条代码来执行一下。 如果要实现单击,就把 MOUSEEVENTF_MOVE 删了,用两条语句,分别 MOUSEEVENTF_LEFTDOWN 和 MOUSEEVENTF_LEFTUP 来模拟鼠标按下和抬起,这就是一个完整的单击。 如果要双击某处,就把单击重复一次,LEFTDOWN LEFTUP 再 LEFTDOWN LEFTUP,一共四句哦! 希望能帮到你,祝你成功!
H. C#任意两点鼠标S形轨迹移动,S形有可能是斜着的,求大神给段代码或者给个公式算法,万分感谢。
算法比较简单:S行轨迹,依靠两点无法获取的,,,,
第一,获取起点坐标;
第二,获取终点坐标,可以依靠鼠标的点击和起来产生事件;
第三,随机产生第三点S3,
第四,起点和S3以起点到S3距离为直径画顺时针半圆弧度l
第五,s3到终点以此同样为直径画逆时针半圆弧,就是八卦的S且方向随机;
I. 鼠标定位技术的轨迹球定位
轨迹球定位的工作原理和其实与光栅类似,只是改变了滚轮的运动方式,其球座固定不动,直接用手拨动轨迹球来控制鼠标箭头的移动。轨迹球被搓动时带动其左右及上下两侧的滚轴,滚轴上带有栅轮,通过发光管和接收组件产生脉冲信号进行定位。不过轨迹球的滚轮积大、行程长,这种定位方式能够作出十分精确的操作。并且轨迹球另一大优点是稳定,通过一根手指来操控定位,不会因为手部动作移动影响定位。此外,也有使用光电方式的轨迹球,其工作原理和发光二级管定位类似。