避免图中的边相交

Avoid edges intersection in a graph

如何避免图中的边相交?

1 the graph is a tree

2 the nodes may have at most 4 children

3 I may draw the node at any distance from its parent

这是我的图表示例:

所以,我的想法是从左到右逐个节点、逐条边绘制图形,当我遇到分支时我应该采取一些行动(将之前的分支进一步分开,我认为之前的节点是如果我们只在根的方向移动(在根上方的图像上是开始 - 最左边的节点),那么从当前节点可以到达的那些节点。

问题来了:只修改前面的节点,仍然有可能得到边的交点。例如上图,如果我将一个节点添加到最右上端,那么之前的所有节点甚至不需要任何修改(以防止交叉),但是交叉发生了。

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=3A013A211737A56256D8A895B937DBDF?doi=10.1.1.51.6677&rep=rep1&type=pdf有一个线性时间算法在没有任何边相交的网格上绘制平面图形。这对你有用吗?