1
我想要實現的是取mousemove事件的當前座標,並將它們與圓上最近位置的座標進行匹配。我已經成功地得到這個使用for循環,其在中圈每個可能的迭代點和座標,以便進行比較找到的最近點部分工作:D3js找到圓上最近的點
for (var i = Math.PI; i > -Math.PI; i -= 0.01) {
// coords of current point in circle:
var curX = Math.sin(i+Math.PI/2)*radius + 200,
curY = Math.sin(i)*radius + 200;
// conditional which attempts to find the coords of the point closest to the cursor...
if (Math.abs((x - curX)) < distanceX && Math.abs((y - curY)) < distanceY) {
distanceX = Math.abs((x - curX));
distanceY = Math.abs((y - curY));
// and then assigns the values to the newX/newY variables
newX = curX;
newY = curY;
}
}
麻煩的是,這種解決方案會經常回錯誤的座標,我不知道爲什麼。
的jsfiddle,看看我的意思是:
https://jsfiddle.net/eLn4jsue/