4

我正在使用 KineticJS 构建组织结构图;主要要求之一是能够拥有足够智能的线条,不会被它们连接的形状重叠。我有一个算法来检测两个形状之间的最短路径,但我仍然坚持如何将它们绕着任何形状路由。

到目前为止,我想出的最佳解决方案是在线上的每个点上使用 getIntersection() 以确保没有任何点包含的不仅仅是线;但是在这样做之后(这本身感觉有点浪费),我仍然不确定绕过障碍物的最佳方式是什么。

如果有另一个可以轻松完成此任务的库,我愿意切换库的想法,或者如果需要的话,甚至可以回到纯香草 JS 实现。

我目前拥有的

4

1 回答 1

0

要使用您当前的解决方案,您需要在绘制连接器时可以使用的每个形状之间创建垂直和水平“排水沟”。

将这些排水沟视为您穿过连接线的导管。

您的排水沟中可能会有多个重叠的连接器。

您可以对连接器进行颜色编码,以便用户识别。

或者:

这个画布图表库是由 StackOverflow 的频繁贡献者 Simon Sarris 创建的:

http://www.nwoods.com/company/aboutus.htm

或者:

JSPlumb 是一个基于 javascript 的 diagamming 库

http://jsplumbtoolkit.com/jquery/demo.html

于 2013-07-30T21:20:49.900 回答