我是D3的新手,我正在尝试使用D3库检测形状何时重叠路径。实际上我的代码的功能是你可以在画布中的任何地方拖动一个黑色矩形,我现在需要检测矩形何时触摸圆形路径并像磁铁一样附着在它上面。我在网上找不到类似的东西所以我想问你是否可以给我一些提示。 我想我必须检测矩形的位置和路径坐标。
在这里你可以看到我的代码: https://jsfiddle.net/hsspve49/
var drag = d3.drag().on("drag", function () {
var rect = d3.select(this);
var theta = Math.atan2(d3.event.y - height/2, d3.event.x - width/2) * 180 / Math.PI
rect
.attr("x", d3.event.x)
.attr("y", d3.event.y)
.attr('transform', `rotate(${theta + 90}, ${d3.event.x}, ${d3.event.y})`)
提前谢谢。