检测图形边缘重叠
Detect Graph Edges Overlapping
问题:寻找js图形库创建有向图(例如使用dagre
布局)需要相当长的时间,with 非重叠边的约束.
到现在的步数
- 从 cytoscape.js but as it seems 开始,不存在这样的功能。
- 继续使用基于
svg
的解决方案(考虑到所有元素都在 DOM 中),d3.js 使用 dagre-d3,但信息仍然在 DOM是路径route.
Objective
- 找到一种检测边缘重叠的方法,基于
canvas
或 svg
。
- 创建自定义布局以遵守此限制。将使用它作为我的收敛算法的指标。
图形表示
下面是objective的图形表示。
我想检测边缘 0>1
和 2>3
是否重叠。
欢迎任何想法和想法。
如果我的逻辑有问题,欢迎corrections/suggestions。
查找 边缘交叉点(线交叉点)是一个相当简单的几何学位,这里有解释 -->
但是 最小化 图形中的这种边缘交叉(零边缘交叉仅在平面图形中才有可能)是图形布局的重大研究挑战之一 - https://cs.stackexchange.com/questions/14901/how-to-reduce-the-number-of-crossing-edges-in-a-diagram
一些特定图形类型的图形布局,如 DAGS(如 Sugiyama)旨在减少交叉,如果有帮助,yfiles 提供类似的细胞景观布局(即分层布局)--> http://apps.cytoscape.org/apps/yfileslayoutalgorithms
问题:寻找js图形库创建有向图(例如使用dagre
布局)需要相当长的时间,with 非重叠边的约束.
到现在的步数
- 从 cytoscape.js but as it seems 开始,不存在这样的功能。
- 继续使用基于
svg
的解决方案(考虑到所有元素都在 DOM 中),d3.js 使用 dagre-d3,但信息仍然在 DOM是路径route.
Objective
- 找到一种检测边缘重叠的方法,基于
canvas
或svg
。 - 创建自定义布局以遵守此限制。将使用它作为我的收敛算法的指标。
图形表示
下面是objective的图形表示。
我想检测边缘 0>1
和 2>3
是否重叠。
欢迎任何想法和想法。
如果我的逻辑有问题,欢迎corrections/suggestions。
查找 边缘交叉点(线交叉点)是一个相当简单的几何学位,这里有解释 -->
但是 最小化 图形中的这种边缘交叉(零边缘交叉仅在平面图形中才有可能)是图形布局的重大研究挑战之一 - https://cs.stackexchange.com/questions/14901/how-to-reduce-the-number-of-crossing-edges-in-a-diagram
一些特定图形类型的图形布局,如 DAGS(如 Sugiyama)旨在减少交叉,如果有帮助,yfiles 提供类似的细胞景观布局(即分层布局)--> http://apps.cytoscape.org/apps/yfileslayoutalgorithms