首先来一个贝塞尔曲线的简单示例
const Bezier = require("@wangshushuo/bezierjs") // npm install @wangshushuo/bezierjs
const bezier = new Bezier();
//x坐标从0滑到100,生成34个点
var xi=0;
var yi=0;
var distance = 100;
var ydistance = 40;
for (let n=0; n<10;n++){
bezier.addPoint(xi+distance*n/10,yi+ydistance*n/10);
}
for (let t = 0; t <= 33; t++){
const x = bezier.bezier_x(t/30);
const y = bezier.bezier_y(t/30);
console.log(t,x,y);
}
console.log("Target:", xi+distance, yi+ydistance);
之前整某盾,使用贝塞尔曲线将易盾滑块、无感知、点选的轨迹都生成过了,需要轨迹的可以好好研究下这个。
router.get('/yzm/getTrace', function(request, response, next) {
var rdata = url.parse(request.url,true).query; //获取参数
var urlKey = rdata['urlKey'];//3个坐标值
var trace = traceUtil.getTrace(urlKey);//获取返回值
// console.log('返回结果 trace:\n');
// console.log(trace);
response.writeHead(200, {'Content-Type': 'application/json'});
response.end(trace);
});
纯技术交流,请勿用于非法用途,如有权益问题可以发私信联系我删除.