Javascript 如何在D3中的路径上拖动矩形?

Javascript 如何在D3中的路径上拖动矩形?,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我必须沿着圆弧路径拖动一个rect元素。我怎么做 在这里您可以看到我的代码: 提前谢谢。这可能会有帮助是的。。。但是相当困难。没有更直接的吗?例如,要调用的d3函数,例如。。矩形连接(弧)。。Idk。。类似的东西这会有帮助是的。。。但是相当困难。没有更直接的吗?例如,要调用的d3函数,例如。。矩形连接(弧)。。Idk。。类似的东西 var drag = d3.drag().on("drag", function () { var rect = d3.select(this

我必须沿着圆弧路径拖动一个rect元素。我怎么做

在这里您可以看到我的代码:


提前谢谢。

这可能会有帮助是的。。。但是相当困难。没有更直接的吗?例如,要调用的d3函数,例如。。矩形连接(弧)。。Idk。。类似的东西这会有帮助是的。。。但是相当困难。没有更直接的吗?例如,要调用的d3函数,例如。。矩形连接(弧)。。Idk。。类似的东西
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-rect.attr("width")/2)
                .attr("y", d3.event.y-rect.attr("height")/2)
                .attr('transform', `rotate(${theta + 90}, ${d3.event.x}, ${d3.event.y})`)