android鼠标位移算法分析。

    因为工作需要,需要捕捉激光笔在投影仪图像中的位置,激光笔在投影中的位置是绝对坐标,鼠标移动事件使用的是相对坐标,如何将得到的位置转化为鼠标相对位移呢?
           鼠标光标在android系统内绘制的时候使用的是绝对坐标.因此鼠标移动事件从INPUT层传递到光标绘制环节,需要将事件中的相对位移叠加到绝对坐标值上绘制。这个相对位移传到framework层会通过一定的算法将X轴和 Y轴上的值分别做一定比例的缩放,具体的缩放 算法依据鼠标位移的速度,和加速度来定,因此仅仅简单叠加相对位移结果无法让鼠标和激光笔光标位置保持位置一致,一定会产生偏差。
      android中的算法实现:android系统层通过收集鼠标历史相对位移数据、事件产生的时间信息,利用最小二乘法通过矩阵运算做函数拟合,确定函数系数中的移动速度和加速度。 利用速度和加速度的值修改鼠标的位移delta量,再叠加到绝对坐标值中。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值