2

我正在尝试使用 boost Kamada-Kawai-spring-layout 算法来布局图形。问题是顶点在某些图形中相互碰撞。我添加了权重为 1.0 的所有边

add_edge(a,b,1.0,g);

然后我像这样布置图表:

minstd_rand gen;
topology_type topo(gen,0,0,widht,height);
random_graph_layout(g,position,topo);
bool kamada=kamada_kawai_spring_layout(g,position,get(edge_weight,g),topo,side_length(width),kamada_kawai_done());

一些图表工作正常,而其他产生这样的输出 在此处输入图像描述

我认为布局很好,但边缘的长度需要增加,但我不知道如何

4

1 回答 1

1

您可以使用 boost::edge_length(e) 而不是 boost::side_length(s) 来控制图形上的边长

bool kamada=kamada_kawai_spring_layout(g,position,get(edge_weight,g),topo,boost::edge_length(length),kamada_kawai_done());
于 2016-07-03T09:00:50.487 回答