如何创建没有节点冲突的树?

问题描述 投票:0回答:0

我在创建项目的二维布局中创建树时遇到问题。我将使用 diagrams.net 尝试直观地展示我的问题。

让我们考虑一个带有节点分支的水平树。我将节点放在二维坐标中而不重叠它们。但是我希望一个节点的子节点彼此对称,显示 3-child 和 2-child 的简单情况:

我想保持这种对称性,但我不希望我的子节点进一步向下而不相互冲突。例如,让我们考虑以下场景:

在此图中,node1 和 node2 都是根节点的子节点。 node1 和 node2 有自己的孩子,但由于我将这些孩子分散开来,所以它们会发生冲突。我可以遵循什么样的方法来防止这种冲突?我如何计算如何展开我的节点,以便它们只根据需要展开而不冲突?节点高度也可能不同,所以我需要将其考虑在内,但为了使其更简单,我们可以忽略它并在以后考虑。

我只想知道如何处理节点几何计算方面的情况;绘图或伪代码或解释都会有用。

谢谢,祝你好运。

algorithm tree nodes diagram
© www.soinside.com 2019 - 2024. All rights reserved.