发电机功能和用户界面

我正在尝试使用
matplotlib.
我想使用一个春季布局,nodes互相排斥
边缘充当弹簧,将连接的节点拉在一起.通常,这个
算法通过吸引/排斥的许多迭代运行
使节点收敛到合适的位置.但是,相反
比运行所有这些迭代以布置图形,然后
渲染它,我想为图表动画,因为它正在"弹簧"
放置,然后允许用户拖动节点并具有图形
重新刷新.
我这样做的想法是使用发电机功能,我在其中产生
每次迭代后节点的位置,然后在
位置产生.这似乎是一种明智的方法吗?这
问题是由
生成器函数可能会通过用户输入来更改 - 拖动节点 -
而且我不确定这是否会破坏新职位的方式
屈服.我如何使用可能停止的发电机函数(当
节点停止移动),但需要再次重新启动(用户移动后
节点)?
我是一个经验丰富的Python程序员,但我从未接受过
难以让我围绕发电机功能,因此任何指导
欢迎!
彼得

# 回答1


在9月10日,10:35*AM,Bruno Desthuilliers
我对这种算法没有太多经验,但是Afaict,
对我来说似乎很明智,是的.但是不要说我的话...
从Python 2.5开始,有一种方法可以将值传递给发电机:http://docs.python.org/whatsnew/pep-342.html
现在,到目前为止还没有玩过这些新功能,恐怕我
忍不住什么,甚至严格肯定这就是你
需要.
周围有发电机大师吗?
产量可以返回值.您要寻找的语法是:
Def Generator_Fun():
a = []
而1:
b =产量(a)
A.申请(b)
g = generator_fun()
G.Next()
G.Send(3)
G.Send(4)
G.Send(5)
/输出:
[]
[3]
[3,4]
[3,4,5]
" g"在"发送"呼叫之间不活动.
# 回答2

psthydexply@googlemail.com写道:
对我来说,不.使用一个的原因在这里不适用.你什么
描述很像具有自动更新以及用户干预的游戏.
我会编写一个更新功能,然后将其添加到GUI Mainloop(如果
运行:update())以及要绑定到GUI的绘制功能
Redraw(我对那些不了解的部分).我会允许使用
空格键代替或除了按钮以切换"运行"的按钮
然后.这是允许用户停止操作的游戏中的标准配置.
tjr

标签: python

添加新评论