【问题标题】:Simple Dynamic Graph Display for C++C++ 的简单动态图形显示
【发布时间】:2010-10-02 14:46:48
【问题描述】:

我正在寻找一个简单的 C++ 图形布局库。我想将该库嵌入到我们基于 wxWidgets 的可视化器中。总之,我正在寻找类似graphviz 的东西,除了动态的——即当事件发生时,只需要加载图形的变化,而不是完整的显示。有dynagraph,但它似乎是一个死项目。以前有人建议我使用 VTK - 但它是重量级的。

我正在寻找可用于商业用途的开源、非 copyleft 类型的库(GPL 已退出,LGPL 应该没问题)。我愿意接受谷歌不会给出的建议。

【问题讨论】:

    标签: c++ visualization real-time


    【解决方案1】:

    在使用 graphviz 时克服一些问题(由 Tom 描述)。 我们将可视化工具的世界坐标设置为与 graphviz 的世界坐标一致。

    那么。假设每个视觉元素都有一个唯一的标识符,使用这些元素构建一个图形。将图形输出为文本。根据输出解析重新调整所有内容。 ?

    --

    迈克尔

    【讨论】:

      【解决方案2】:

      Graphviz 生成的布局基于全局结构 - 任何单个添加都可以显着改变输出(除非您使用固定坐标,在这种情况下您可能不会问这个问题)。基本上,如果您想要自动放置元素,您需要接受以下解决方案之一:

      • 当放置新元素时,会实时运行物理模拟,导致节点疯狂反弹,直到它们安顿到新位置。这会很慢,但会显示出“令人愉悦”的变化。
      • 放置新元素时,会重新绘制整个图形(物理/隐藏的任何内容,但会修改整个内容)。由于不必重绘,这会更快,但节点的相对位置可以完全不同。
      • 放置新元素时,不会修改现有元素。进行足够多的动态更新后,您的图表将看起来很糟糕,因为自动放置是一个全局优化问题。

      抱歉,我无法回答您的问题,但也许这有助于解释为什么您正在寻找的东西可能根本不存在(或没有任何好处)。

      【讨论】:

        猜你喜欢
        • 2012-06-04
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-04
        • 2015-04-27
        • 1970-01-01
        相关资源
        最近更新 更多