基本上我有一套“房间”(自定义类).所有房间都是相连的,每个房间都是根据一个或多个其他房间来定义的.我正在寻找一些系统来组织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

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

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

  1. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  2. python实现排序算法_数据结构之(3)python实现排序算法

    常用排序与插入算法 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直 ...

  3. neo4j python 算法_图论与图学习(二):图算法

    选自towardsdatascience 作者:Maël Fabien机器之心编译参与:熊猫 图(graph)近来正逐渐变成机器学习的一大核心领域,比如你可以通过预测潜在的连接来理解社交网络的结构.检 ...

  4. java python算法_用Java,Python和C ++示例解释的搜索算法

    java python算法 什么是搜索算法? (What is a Search Algorithm?) This kind of algorithm looks at the problem of ...

  5. 免费学python编程_强力推荐,非常全的 Python编程学习资料(今日免费)

    因为大数据和 AI,Python 一跃成为最火的语言,这里推荐几本畅销排行榜上的好书. 有需要在我的头条号,私信我,"Python",即可免费领取. 一.Python基础教程 &l ...

  6. 量化投资与python语言_在量化投资领域,为什么Python如此受欢迎?

    说起Web领域 你立马会想到JavaScript语言,它在Web领域不可撼动:Python也已经在金融量化投资领域占据了重要位置,从各个业务链条都能找到相应的框架实现. 在量化投资(证券和比特币)开源 ...

  7. 风云编程python怎么样_二十年编程语言风云,看Python如何一步步往上爬!

    作者 | 周萝卜 来源 | 萝卜大杂烩 年终岁尾了,编程语言也要决出这一年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java.C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位 ...

  8. 浪漫的python代码_七夕,最浪漫的Python代码送给陷入爱河的Python男同胞

    七夕,最浪漫的Python代码送给陷入爱河的Python男同胞 image.gif ​ 三句话情书,我们听过.如何用python写一段浪漫的代码?可以是简短有韵味的情书式, 也欢迎冗长而效果拔群的万行 ...

  9. flask执行python脚本_如何在Flask中运行python脚本

    我有一个Flask脚本,可以创建网站并动态打印一些数据.-打印的数据应来自另一个python脚本. 我目前面临的问题是,如果我将执行python脚本的行放在执行Flask应用程序的行之前,它将运行Py ...

最新文章

  1. 使用ssh连接gitHub
  2. Python判断 子集
  3. C# Winform程序中DataGridView中使用ContextMenuStrip实现右键菜单
  4. Place the Guards
  5. getchar()和EOF
  6. noip退役之路--祝福
  7. Direct3D中的绘制(3)
  8. MapReduce之InputFormat理解
  9. 没业绩怎么写好年终总结?这样写总结年终奖翻倍!
  10. GitCode 版本升级,让开发更加高效
  11. 微软在位Azure自动机器学习服务释无程序代码网页UI
  12. 求求你,别再叫我 X 工了!!!
  13. [luoguP1373] 小a和uim之大逃离(DP)
  14. ffmpeg 合并 flv 文件
  15. bzoj4200: [Noi2015]小园丁与老司机(可行流+dp)
  16. oppo手机禁止自动打开应用商店
  17. 人类简史--经典语句摘录
  18. 从网易产品出发解读To B营销如何应用增长黑客
  19. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 4 - 第一部分
  20. nextTick介绍

热门文章

  1. AUTOSAR工具DaVinci Configurator Pro介绍
  2. 如何安装STM32CubeMX
  3. 目标检测的papers、github地址及pascal voc排名
  4. 考研c语言入门自学书籍推荐,【每周一点】2020计算机考研:参考书及复习重点...
  5. 色彩的数学规则(二)(转)
  6. windos10的设备管理器无法添加过时硬件
  7. 基于masm 6.11的汇编语言实现简单电话簿
  8. 2010最具幸福感城市排名,可信吗?
  9. 初识编程的感受与期待。
  10. DataX教程(05)- DataX Web项目实践