function Bezier_curve(x0,y0,x1,y1)
math.randomseed(getRndNum()) -- 随机种子初始化真随机数
local x_bitch=math.abs(x0+x1)/2
local y_bitch=math.abs(y0+y1)/2
if x_bitch==0 then
x_bitch=x0
end
if y_bitch==0 then
y_bitch=y0
end
math.randomseed(getRndNum()) -- 随机种子初始化真随机数
pianyi=math.random(10,20)*(math.sin(math.random(1.54,4.55)))
local x2=x_bitch+pianyi
local y2=y_bitch-pianyi
for i=1,20 do
local t=i/25
qux=(1-t)*(1-t)*x0+2*t*(1-t)*x2+t*t*x1
quy=(1-t)*(1-t)*y0+2*t*(1-t)*y2+t*t*y1
-- touch = touch:move(qux,quy)
qux=math.ceil(qux)
quy=math.ceil(quy)
nLog("qux: "..qux.." y "..quy)
-- shuijiao=math.random(15,25)
-- mSleep(shuijiao)
touch_speed=加速度(touch_speed)
touch = touch:Step(touch_speed)
touch = touch:Delay(shuijiao)
touch = touch:move(temx,temy)
nLog("touch_speed:"..touch_speed)
--touchMove(qux,quy)
end
qu_site={}
table.insert(qu_site,qux)
table.insert(qu_site,quy)
return qu_site
end
代码无法直接运行。需要自己加工一下
qu_site=Bezier_curve(x,y,temx,temy) ?
x y 对应 a 点
temx,temy 对应b 点
会自动计算出一个c点
最后得出的轨迹曲线如下。?
当然这个曲线是过不了验证码的,因为他是ai计算更新了算法。
下次我试试用魔法打败魔法
计算公式来自于:
贝塞尔曲线(Bezier Curve)原理及公式推导_CCC的专栏-CSDN博客_贝塞尔曲线公式
|