From efb8f64a810eddfa5274ae148717460c3b67f839 Mon Sep 17 00:00:00 2001 From: yvan.ni <765199919@qq.com> Date: Thu, 16 Jan 2020 20:00:46 +0800 Subject: [PATCH] 球的坐标位置的算法 --- utils/util.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/utils/util.js b/utils/util.js index 6dc6f03..fe5146f 100644 --- a/utils/util.js +++ b/utils/util.js @@ -304,10 +304,23 @@ function draw_randon_rect(ctx,x,y,r,w,h){ ctx.lineTo(x, y + r) ctx.lineTo(x + r, y) // 这里是使用 fill 还是 stroke都可以,二选一即可,但是需要与上面对应 - ctx.fill(); - + ctx.fill(); } +/** + * @param {Object} num 数量,最大5 + * @param {Object} x 中心坐标 + * @param {Object} y y中心坐标 + * @param {Object} sp 圆的间隔 + * @param {Object} r 圆的半径 + */ +function get_box_arr(num,x,y,sp,r){ + if(num==1) return [{x:x,y:y}]; + if(num==2) return [{x:x-sp/2-r,y:y},{x:x+sp/2+r,y:y}]; + if(num==3) return [{x:x-sp-2*r,y:y},{x:x,y:y},{x:x+sp+2*r,y:y}]; + if(num==4) return [{x:x-sp/2-r-sp-2*r,y:y},{x:x-sp/2-r,y:y},{x:x+sp/2+r,y:y},{x:x+sp/2+r+sp+2*r,y:y}]; + if(num==5) return [{x:x-2*sp-4*r,y:y},{x:x-sp-2*r,y:y},{x:x,y:y},{x:x+sp+2*r,y:y},{x:x+2*sp+4*r,y:y}]; +} function null_promise(){ var promise=new Promise(function(resolve, reject){ var ob={code:-1,data:null}; resolve(ob); }); return promise; @@ -411,4 +424,5 @@ module.exports = { getDistance:getDistance, //获取俩个经纬网度之间的距离 draw_randon_rect:draw_randon_rect ,//画图画圆角矩形 null_promise:null_promise,//返回空的promise + get_box_arr:get_box_arr,//返回圆的数组 }; -- libgit2 0.21.4