Javascript 距离鼠标最近的点

Javascript 距离鼠标最近的点,javascript,arrays,mouse,distance,closest,Javascript,Arrays,Mouse,Distance,Closest,在你评论之前,是的,我也检查了其他问题。。。 比如,或者,甚至可能。但是,我找不到如何设置原点。假设我有一个数组picture X坐标和picture Y坐标 (在100*100的网格上) x/y 92/81 82/47 81/03 现在我有了mouseX和mouseY。 有人知道如何制作一个函数,在JavaScript中为您提供最接近的x点和y点值吗 提前谢谢 只要做一些向量运算就行了。给定图像和触摸位置: const coords = [[92, 81], [82, 47], [81,

在你评论之前,是的,我也检查了其他问题。。。 比如,或者,甚至可能。但是,我找不到如何设置原点。假设我有一个数组picture X坐标和picture Y坐标

(在100*100的网格上) x/y 92/81 82/47 81/03

现在我有了mouseX和mouseY。 有人知道如何制作一个函数,在JavaScript中为您提供最接近的x点和y点值吗


提前谢谢

只要做一些向量运算就行了。给定图像和触摸位置:

 const coords = [[92, 81],  [82, 47], [81, 03]];
 const touchX = 57, touchY = 84;
只需遍历它们并计算距离向量长度:

let closest = [null, null];
let distance = Infinity;

for(const [x, y] of coords){
  let d = Math.sqrt((touchX - x) ** 2 + (touchY - y) ** 2);
  if(d < distance){
    closest = [x, y];
    distance = d;
  }
}
let最近=[null,null];
让距离=无穷远;
for(坐标的常数[x,y]{
设d=Math.sqrt((touchX-x)**2+(touchY-y)**2);
如果(d<距离){
最近的=[x,y];
距离=d;
}
}