【问题标题】:boost Kamada-Kawai spring layout vertices collisionboost Kamada-Kawai 弹簧布局顶点碰撞
【发布时间】:2016-11-01 06:38:43
【问题描述】:

我正在尝试使用 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());

有些图表可以正常工作,而其他图表则产生这样的输出

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

【问题讨论】:

  • 缺少很多信息。什么是拓扑?你是如何渲染图表的?你有SSCCE吗?
  • 谢谢我解决了问题

标签: c++ boost boost-graph graph-layout


【解决方案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());

【讨论】:

    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多