滑动验证码-编辑移动轨迹
思路:建立每次移动的距离,使用时,移动获取距离拖动滑块儿即可。
标签:distance,轨迹,直线运动,track,验证码,current,滑动,移动 From: https://www.cnblogs.com/jiangjiayun/p/17538684.html提示
滑动的距离不能随意设置,需要复合人类行为。推荐参考,高中物理了解过的知识:
- 均变速直线运动的速度与时间关系的公式: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)