span8
span4
我们希望在这里偶尔提出一些挑战,奖励将是声誉,徽章,和…谁知道呢。这个挑战可能更困难,但我对你的能力有信心。
我最近在维基百科上找到了一个关于康威的人生游戏。这是一个看起来像光栅网格的游戏。网格中的每个单元格都根据一组规则生存或死亡,生成一个新的网格,从该网格可以一次又一次地重复该过程。结果是一个活的网格可以(取决于起始位置)看起来像这样:
所以挑战是:用FME实现人生游戏的规则,并生成演示它的输出。
我试过了,可以确定这是可能的。如何?好吧,我让你来决定吧。光栅是很明显的解决方案,如果RasterResampler有正确的插值选项(它没有)。
你可能还会用光栅,或者创建一个数字数组(可能是一个列表),或者用一个矢量平方网格,或者相邻的特征属性,或者,嗯,我认为有很多方法可以奏效。
我更希望大部分的解决方案使用FME,而不是Python或任何其他脚本语言。
所以为什么不试一试呢?我不会设定最后期限,但我想看看你创造的东西,即使您无法完全完成解决方案。一半的乐趣是学习您不知道的参数和变压器。
把你的解决方案,问问题,或者讨论下面的挑战。我也可以不时地提出一些有用的建议。
谢谢所有这些伟大的意见,每个人。我正在写一篇简短的博客文章来突出这里所做的工作,所以我将把这个挑战称为结束。快去找一个新的吧!
当然,我还将授予高桥和乔安娜一些重要的荣誉点。伟大的工作!
好吧,现在,我发布一些到目前为止我创建的未发布的解决方案,并结束我的挑战。
在空间方法中,配对器(生命中的6对配对器)是最有效的。
我个人最喜欢的-前3名是:XML(生命游戏-10- XML -2),光栅操作(game-of-life-2-1),和列表操作(生命游戏-8-嵌套列表)。
实际上有很多方法,但我也想在不使用循环的情况下实现它。克隆体和全局变量使我能够做到这一点:game-of-life-7-variables.fmw(FME 2016.1)
如果所有细胞都死亡了,我忘记创建光栅了。更新。
数据库还可以用于执行数据更新迭代。
你好,我挑战在不包含阻塞变压器的情况下实现循环。
这是结果:game-of-life.fmw(FME 2016.1),一个例子:game-of-life.mp4(mp4电影)
【补充】我也想用它来完成这个目标光栅操作。这是由两个工作区组成的解决方案:游戏- - - 2. - zip的生活(FME 2016.1)
一个(运行程序)包含一个WorkspaceRunner,它调用另一个(工作程序),工人用光栅操作为每一代后代创建光栅。我认为有可能提高性能,如果您创建了一个链接的自定义转换器,该转换器将为worker中的光栅操作执行迭代。
(5月31日,修复了《生命游戏2》中的一个bug
@takashi。我接受了环路中没有阻塞变压器的挑战。
这个版本使用一个有序列表来包含数据。它还有一个好处,就是可以将相邻的边包围起来。
conwaylist.fmw
熟练的列表操作!谢谢分享。
这是FME特有的优势之一我们可以通过空间操作来完成任务,因此,我认为您的第一个工作区(使用NeighborFinder)是典型的“FMEwise”解决方案。我相信空间相关器也可以用,但把它留给其他社区成员;)亚搏国际在线官网
受到你的解决方案的启发,我使用嵌套列表创建了一个工作区,但是等一会儿再发吧。
顺便说一句,因为AttributeCreator中的左列接受字符串表达式,它也可以用来创建一个列表元素,像这样。您可以删除PythonCaller:)
排序的。_list{@Value(_i)}将该特性解析为_list{0},但是其余的转换器将其视为一个名为_list{@Value(_i)}的属性,而不是一个名为_list{}的列表,并且在列表转换器中不可用。
这可以通过使用带有_list{}的AttributeExposer和_list{@Value(_i)}的AttributeRemover来处理。
我很好奇AttributeCreator为什么接受表达式,但不提供访问TextEditor的选项。
你是对的。在通过以下转换器操作表达式之前,用户必须公开表达式创建的属性名。还必须“移除”(隐藏)显示在画布上的表达式作为属性名,如果这很烦人的话。因此,我希望隐藏选项将添加到AttributeExposer:添加属性/列表以向AttributeExposer隐藏选项
哦,我的帖子已经进入了审核队列……
(5月29日更新感谢您将我之前的帖子从队列中拯救出来:-)Python版本作为奖励:game-of-life-3-python.fmw(FME 2016.1)
[更新2]修改光栅操作版本。此解决方案包含一个链接的自定义转换器。第一次安装,然后运行工作区:游戏- - - - - - -生活- 2 - 1. - zip(FME 2016.1)
(5月31日,修正了一个错误。
FME中的点云技术在某些光栅操作场景中具有很强的性能提升能力。事实上,这不是我的发现。@daleat亚搏在线safe大约两年前,我在寻找一种将XML编写的大型数字序列转换成光栅的有效方法时,就提出了这个概念。从那时起,我有时使用PointCloudCombiner进行光栅操作。
纯FME,而不是gif动画。
conwaylife.fmwt模板的自定义转换器。(顺便问一句:为什么我们可以上传fmw和fmwt,但不能上传fmx?)
©2019安全亚搏在线软件公司|法律