我正在寻找一种算法或库来绘制等距矩形之间的连接线。 我需要在用JavaScript编写的编辑器中实现此类功能。所有矩形都是可拖动的,并且算法必须尽可能高效。拖动矩形之一时将计算等距线。
在某些编辑器(例如Keynote或PowerPoint)中可以看到此功能。 请查看屏幕截图:equidistant markers
重要的一点:算法应计算矩形相对于最接近的同胞等距的点。因此,当拖动到等距点附近时,可以将矩形顶部对齐。
我尝试实现以下算法:
我无法计算用于拖动矩形的实现捕捉功能的等距点。我还担心性能,因为所有计算和排序都应该在“ ondrag”事件(每秒多次)上执行。
有什么方法可以优化我的算法?