构建的无向图如何将节点无交叉的分布在画布上

letheanwater 2007-07-16 10:07:13
大家好
求教~
我现在获取到一张无向图,已知其各个节点及节点间的连线
我现在需要将这些节点均匀,并无交叉的绘制在画布上。
不知道该怎么弄~
大虾指点一下。
我对算法实在是菜。。欢迎大家拍砖。

开发语言:JAVA
...全文
463 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xysoftzhk 2007-07-17
  • 打赏
  • 举报
回复
过来看看,
偶们gis版的斑竹,应该不难吧,主要在拟合曲线上
letheanwater 2007-07-17
  • 打赏
  • 举报
回复
找到一篇文章,用遗传算法来做。
地址如下:http://www.wanfangdata.com.cn/qikan/periodical.Articles/rjxb/rjxb2000/0001/000120.htm

可是,偶对遗传算法不了解呀!

有那位大虾能帮偶解释一下不。
letheanwater 2007-07-17
  • 打赏
  • 举报
回复
em...
是我描述的不清楚还是太简单?
烦请大家给个思路,谢了。
分不够再加。。多少都行。
letheanwater 2007-07-17
  • 打赏
  • 举报
回复
to:tailzhou(尾巴)
我这里的两个点之间不是必然连接的。
em..
基本上,我的无向图中是不存在两条线交叉的情况的。
因为我是要反映实际的物理布线情况。
letheanwater 2007-07-17
  • 打赏
  • 举报
回复
to:xysoftzhk
不晓得能否帮我讨教一些思路过来呢
我的目的就是优化显示即可。

呵呵~
gis版在这里也有人知晓,荣幸,荣幸啊。
letheanwater 2007-07-17
  • 打赏
  • 举报
回复
em..
是的~ 只要尽量避免相交就可以了。
我看过遗传算法的那篇文章
基本上处理的结果是符合要求的。
奈何我的算法知识实在是太烂。
呵呵~
惭愧惭愧。

希望各位大虾能够帮偶解释一下那个实现的原理。让偶理解一下他那篇文章中的处理思路
偶就感激不尽啦。
tailzhou 2007-07-17
  • 打赏
  • 举报
回复
to xysoftzhk()
你给我画个 有5个节点,并且两两相连的,但连线不相交的看看?

lz给的连接里的论文也只是说:

1) 尽可能将顶点均匀地分布在有限区域中;
  (2) 尽可能避免边的交叉;
  (3) 尽可能使边长一致;
  (4) 反映图的内在对称性.

并没有说绝对可以避免相交;

考虑两两节点都有连线的无向图;
1,三个节点相互之间的连线必定形成一个封闭区域内;
2,当有四个节点的时候,肯定有一个节点在其他三个节点相互之间的连线组成的封闭区域内;
区域内的该接点与其他三个节点的连线将“其他三个节点相互之间的连线组成的封闭区域”分割成3个子封闭区域;每个子封闭区域的边线上只有3个节点
3,所以有五个节点的时候;必定有连线相交;
a)如果第5个节点在大的封闭区域外,则与大封闭区域内的点的连线必定穿越大封闭区域,所以必定与有连线相交;
b)如果第5个节点在某个子封闭区域内,则与除了组成该子封闭区域内的3个点之外的另一个点的连线必定穿越该自封闭区域,所以必定与有连线相交;
c) 其他情况;则第5个节点必定在某连线上,也必定有相交;



wxspll 2007-07-17
  • 打赏
  • 举报
回复
平面嵌入?
G(p, q)要满足q <= 3 * p - 6;
xysoftzhk 2007-07-17
  • 打赏
  • 举报
回复
我可以肯定的说能做的到的,不过我没有做到,
我的同事做了出来,
我们做的是个网络通风的拓扑图,
tailzhou 2007-07-17
  • 打赏
  • 举报
回复
不懂;
不过“我现在需要将这些节点均匀,并无交叉的绘制在画布上。”这个要求对一些图来说,肯定是做不到的;
比如包含5个或5个以上的顶点,且两两相连的无向图,不可能不交叉;

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧