图形绘制算法 - 我正在尝试渲染有限状态自动机

Posted

技术标签:

【中文标题】图形绘制算法 - 我正在尝试渲染有限状态自动机【英文标题】:Graph drawing algorithms - I'm trying to render finite state automata 【发布时间】:2010-10-05 20:15:01 【问题描述】:

我想写一些能画出有限状态自动机的东西。有谁知道与此相关的任何算法?

编辑:我应该提到我知道graphviz。我想构建自己的绘图程序/函数,所以我正在寻找一些更理论的东西/算法的伪代码。

【问题讨论】:

MetaPost? ursoswald.ch/metapost/tutorial.html @Sam:Graphviz 的文档部分引用了许多论文。请参阅我的更新答案。 【参考方案1】:

图表绘制是一个相当复杂的主题,因为不同的图表需要以不同的方式绘制 - 没有一种算法适合所有方法。

我可以推荐以下资源:

http://cs.brown.edu/people/rtamassi/papers/gd-tutorial/gd-constraints.pdf

这应该是一个很好的起点,第 15 页提供了许多链接和书籍供您跟进。

【讨论】:

对于初学者来说,这绝对是一个很棒的链接,它汇集了所有的想法和关键词,这些想法和关键词让我在这个非常复杂和微妙的主题上发表了更全面的文章。谢谢!【参考方案2】:

也许,我回答这个问题有点晚了。无论如何,这是对不同类型的图形和可视化它们的算法的非常全面的参考。

http://www.cs.brown.edu/~rt/gdhandbook/

【讨论】:

【参考方案3】:

要开始使用图形绘制算法,请参阅这篇著名的论文:

“A technique for drawing directed graphs”(1993 年),作者:Emden R. Gansner、Eleftherios Koutsofios、Stephen C. North、Kiem-phong Vo,IEEE Transactions on Software Engineering

它描述了图形可视化绘图程序dot 使用的算法。在链接页面上,您会发现更多参考资料。当您在 Google 上搜索“绘制有向图”时,您还会发现更多论文。

此外,您可能会发现OpenFst 很方便,它是用于有限状态机的通用工具包。它有一个名为 fstdraw 的二进制文件,它将以dot 可以读取的格式输出一个有限状态机。

【讨论】:

【参考方案4】:

查看Graphviz。这是一个开源的图形可视化软件。

编辑:查看documentation section 链接到使用的一些布局算法。

【讨论】:

以上是关于图形绘制算法 - 我正在尝试渲染有限状态自动机的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ggplot 在 R 中自动绘制图形并将它们保存到文件夹中?

三维渲染引擎设计与时间

如何在 UIView 下绘制阴影?

Android图形渲染原理上

无法在 OpenGL 中绘制三角形,但其他基元渲染良好

如何使用输入数组在 GraphView 库中绘制图形?