是否可以使用python中的traits创建一个ui来为细胞自动机模拟创建一个接口?
答案 0 :(得分:1)
当然,你可以使用Python的Traits做任何事情!
说真的,我认为你的问题实际上是关于生成一个用于显示CA的GUI。在这种情况下,我可以推荐基于Traits的Mayavi。它具有冲浪功能,可将一系列规则间隔的数据绘制为3D表面。有关于动画数据的文档,这些文档显示了如何更改底层曲面数据以实现非常快速的渲染,我已经使用并且运行良好。我有一个3D numpy数组形状=(x,y,时间)然后为每一步我传递一个切片到表面对象数据对象:
surf.mlab_source.scalars = array[:,:,timepoint_index]
或者,您可以使用Matplotlib的imshow来显示相同数据的2D图。关于在特征中嵌入matplotlib有一个非常好的教程。
使用这些大型库(它们本身具有许多依赖项)的一个问题是能够将您的应用程序与库一起分发。我已经使用py2app成功冻结了Mac上的Mayavi / matplotlib / traits应用程序,并使用py2exe从Enthought Python Distribution开始,但这并不容易。但是,如果您只是需要它在您的计算机上工作并生成结果,那么这两种方法都可以节省您为细胞自动机编写图形系统的时间。
说了这么多,我也听到了关于GarlicSim的好东西(如提到的冷却RR),这似乎是为你的目的定制的。
无法发布链接,因为这是我的第一篇文章,我稍后会添加它们。