C语言好看的图形程序:为“好看”的图形布局排列节点边

我遇到了在论文中提出的以下图形布局NodeTrix

enter image description here

可见的大块是节点本身(子图的一种复合节点)。

I see that the edges are some sort of curves which seem to not intersect too much among themselves.Also,the nodes and edges don ’ t intersect among themselves.Paper doen ’ t talk about it btw.

我希望实现这个可视化。我有以下疑问:

Q1。这是一些特定的算法来排列 Nodes-Edges,以便图看起来很好,如本文所示?任何其他算法一般?

Q2.对于上面显示的弯曲边缘是否也有一些特殊的算法?

如果有人可以直观地找出上图中的确切算法,那就太好了,但是一些通用的类似算法也应该可以。

3

一种算法是Force-directed graph drawing,它会产生一个与发布的图片非常不同的输出,但是它非常受欢迎,可能会让您a place开始looking

老实说,我怀疑显示的图形是手动布局的。

编辑:回答评论

In the example all nodes are square boxes,and the edges start / end diagonal to the sides of the boxes.A way to this could be

使用力方向放置盒子(或者可能是它的一些定制版本,力取决于盒子的大小)

想象一个“引导边缘”直接在盒子的中心之间

计算引导边与框相交的位置,并将其用作实际绘制边的起点 / 终点。

使实际边开始与边对角,然后使用bezier curves绘制曲线。

您可能希望将其表示为具有bezier cures built in, e.g., svg的向量格式。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(627)
身心语言程序学:Windows Mobile应用程序中的密码学
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(78条)