Qt图绘制

时间:2013-12-25 10:52:50

标签: c++ qt graph drawing

我最近开始开发一个需要我可视化图形的项目,我正在寻找一个合适的算法来解决这个问题。

图表我正在绘制模型数据流,因此合理的绘图可以是从左到右或从上到下。当然,它们是定向的,而且主要是非循环的 - 也就是说,可能会有一些向后的边缘,但这些将是一小部分,我很乐意在计算顶点位置之前删除它们。将DAG作为输入将大大改善运行时间。

我正在为这个项目使用C ++和Qt,并且我已经非常熟悉Qt提供的Elastic Nodes和Diagram Scene示例。如果有人见过KCacheGrind,我试图做的就是它的调用图可视化。

我目前的尝试包括一个原始算法,该算法根据与根的最小距离将每个节点分配给一个层,然后尝试将每个层内的节点定位,使边缘交叉最小化。我无法正确实现最后一部分,我认为问题是NP-Hard。

我正在寻找的是过去有哪些算法用于有效解决这个问题的指导。

1 个答案:

答案 0 :(得分:3)