滑动验证码-编辑移动轨迹

滑动验证码-编辑移动轨迹

image-20220809215834098

思路:建立每次移动的距离,使用时,移动获取距离拖动滑块儿即可。

提示

滑动的距离不能随意设置,需要复合人类行为。推荐参考,高中物理了解过的知识:

  • 均变速直线运动的速度与时间关系的公式:V=V0+at
  • 均变速直线运动的位移与时间关系的公式:x=v0t+½at²
    '''
    1、匀变速直线运动的速度与时间关系的公式:V=V0+at
    2、匀变速直线运动的位移与时间关系的公式:x=v0t+½at²
    '''
    def get_track(distance):
      track = [] # 0,1,1,2,2,3,3,4,5,6,7,8,7,5,3,2,1,0
      # 从哪个位置开始滑动
      current = 0
      # 减速的阈值
      mid = distance*4/5
      # 时间
      t = 0.2
      # 速度
      v = 0
      while current < distance:
        if current < mid:
          a = 2 # 加速值
        else:
          a = -3 
        v0 = v
        v = v0 + a * t # 新的移动速度
        move = v0*t +1/2*a*t*t # 移动的距离
        track.append(round(move)) # 加入移动轨迹
        current += move  # current 记录当前位置
      track.append(distance- sum(track))
      return track,sum(track)
    

     

posted @   jiang_jiayun  阅读(169)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示