JavaScript离鼠标最近的点

JavaScript Closest point from mouse

在你评论之前,是的,我也检查了其他问题...... 喜欢 this article, or this one, or maybe even 。但是,我找不到如何设置原点。所以,假设我有一个数组图片 X 坐标和图片 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;
  }
}

Vectors

Calculating the length