我尝试使用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());
我认为布局很好但是边缘的长度需要增加,但我不知道如何
答案 0 :(得分: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());