易语言模拟真人鼠标轨迹算法
在自动化操作中,模拟真人鼠标轨迹可以避免被检测为机器人行为。贝塞尔曲线虽然常用,但并非唯一选择。以下介绍一种基于随机化和分段线性插值的算法,实现更自然的鼠标移动效果。
算法原理
-
分段线性插值
将起点到终点的路径拆分为多个小段,每段通过线性插值生成中间点。
公式:
( x = x_1 + t \cdot (x_2 - x_1) )
( y = y_1 + t \cdot (y_2 - y_1) )
其中 ( t ) 为插值系数(0到1之间)。 -
随机扰动
在插值点中加入随机偏移量,模拟人手抖动。
公式:
( x' = x + \text{rand}(-d, d) )
( y' = y + \text{rand}(-d, d) )
( d ) 为最大抖动幅度。 -
速度变化
通过动态调整插值步长,模拟加速和减速过程。
易语言实现代码
.版本 2
.子程序 模拟鼠标移动, 逻辑型
.参数 起点X, 整数型
.参数 起点Y, 整数型
.参数 终点X, 整数型
.参数 终点Y, 整数型
.参数 步数, 整数型, 可空, 默认50
.参数 抖动幅度, 整数型, 可空, 默认5
.局部变量 i, 整数型
.局部变量 t, 双精度小数型
.局部变量 当前X, 整数型
.局部变量 当前Y, 整数型
.局部变量 随机X, 整数型
.局部变量 随机Y, 整数型
.局部变量 速度因子, 双精度小数型
.如果真 (步数 ≤ 0)
步数 = 50
.如果真结束
.计
易语言实现自然鼠标轨迹
1319

被折叠的 条评论
为什么被折叠?



