正交设计 python算法_如何表示2D正交网格(Python)

基本上我有一套“房间”(自定义类).所有房间都是相连的,每个房间都是根据一个或多个其他房间来定义的.我正在寻找一些系统来组织2D网格中的这些房间,并指定一个任意房间作为起源.

class room(exits={}) :

#Other code in here, not relevant

exits = {}

room_list = {}

room_list['room_1'] = room(exits={'north':'room_2'})

room_list['room_2'] = room(exits={'south':'room_1','west':'room_3'})

room_list['room_3'] = room(exits={'east':'room_2'})

所以我想用某种方式在网格中表示这些房间,而不仅仅是从房间到房间的连接.

最佳答案 虽然问题不是很明确,但似乎需要像GraphViz [1]这样的东西.它基本上是一个自动化框图布局的程序,它与您的问题完全同构.有一个Python接口,PyGraphViz [2],可能对你有用.

如果要生成自己的布局引擎(与GraphViz相当),请确保查看GraphViz程序的neato组件使用的多维缩放算法[3].

[1] http://www.graphviz.org/

[2] http://networkx.lanl.gov/pygraphviz/

[3] http://en.wikipedia.org/wiki/Multidimensional_scaling

如果您提供有关问题的更多详细信息,我可能会提供更有针对性的帮助.您想要获得的示例图(草图)将是好的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值