gpt4 book ai didi

c++ - 绘制图形的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:20:43 31 4
gpt4 key购买 nike

我已经使用邻接表实现了一个图。我拥有每个顶点所需的所有信息:深度、 sibling 的数量、指向其父顶点的指针(它只能有一个父顶点)、关于其子顶点的信息等等。

我想绘制图表的层次结构,最好是从左到右。我正在尝试考虑一种算法来计算每个顶点的坐标 (x,y)。

关于布局总空间,我有关于总布局的高度和重量的信息,还有关于顶点的重量和高度的信息,但目前它们可以被视为点。

很容易想出一个返回 X 坐标的“公式”:我们在图表/树中深入的每个级别都在 X 轴上前进。

但我对如何计算每个顶点的 Y 坐标感到困惑。我假设有人在我之前想到了这个。在查找并发现这是一个众所周知的问题后找不到任何有用的东西。

最佳答案

对于大多数一般图形布局情况,获得正确的 X 和 Y 坐标并非易事。

您可能想看看一些开源工具,了解它们是如何做到的。

Graphviz 有一些很好的布局算法 http://www.graphviz.org/

Antlr 是另一个 http://www.antlr.org/

关于c++ - 绘制图形的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33117730/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com