方格宇宙1 、大楼霓虹灯动画.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方格宇宙1 、大楼霓虹灯动画

方格宇宙 1、大楼霓虹灯动画 你看过夜晚都市街头的霓虹灯么?它们是多么变幻莫测、色彩缤纷!然而你想没想过, 这些霓虹灯的动画图案都是由很多单个的灯泡不停闪烁构成的,你不觉得奇怪么?让我们定 睛观察其中的一个灯泡,它只会机械的闪烁变换几种不同的颜色,没有什么稀奇的;然而当 你观察由这些小灯泡构成的集体的时候,霓虹灯整体的动画图案就会像变魔术一样突然表现 出来。这意味着什么?不忙回答这个问题,让我们先来玩一个类似霓虹灯的游戏。 设想你和你的朋友居住在一幢大楼里面,大楼的一个侧面有很多的窗户,他们整齐的排 列成一个大方阵,就像下面的图一样: 这里黑色表示的是窗户,灰色是窗户之间的隔断。为什么窗户是黑色的?太难看了吧? 哦,这是晚上,而且屋子里都没有开灯。没关系,反正大楼里面住的都是自己的朋友,你可 以让一些人把灯打开,下面的图表示的是有些屋子亮灯的图案(好看多了): 聪明的人已经想到了,其实这就是一个简单的霓虹灯!我们可以让不同的窗户开灯来组 成不同的图案。比如要想用这种方法组合出一个 “十”字图案,我们可以让第 7 列的窗户都 开灯,并让第 13 行的窗户也都开灯: 如果是复杂点的图案呢?我们仍然可以如法炮制,不过麻烦了点,因为你需要告诉这幢 大楼里的每一个同学是开灯还是关灯。 如果要让霓虹灯图案动起来呢?比如每 1 秒钟就变换一下图案,那么你就需要给每个朋 友编制一些指令,告诉他们在什么时刻是开灯还是关灯。我们不妨用 0 表示关灯,用 1 表示 开灯,那么比如指令1 指派给了住在第三行第 4 列的朋友,那么他应该在第 1 秒内 关灯,在第二秒、第三秒都开灯,第 四秒关….。汗,这恐怕太麻烦了 ,你算算,如果要展 示一个 10 分钟的动画(600 秒)那就需要为每个窗户后面的朋友编制长度 600 的指令。何 况很可能这里有 100 扇窗户呢! 如果你够聪明,可以换一种方法来制作你的大楼霓虹灯动画。让居住在大楼里面的每个 朋友密切观察他的邻居,根据上一秒内他邻居的开灯状况决定下一秒内该朋友的动作 。显然 每个窗户后的朋友都会有上、下、左、右、左上、右上、左下、右下八个邻居(如下图), 那么每个人的开灯状态就会被他的邻居们以及他自己的上一时刻的开灯状态所影响,并且翻 过来这位朋友是否开灯又会影响他的邻居们,整个大楼的各个窗户就会不停的闪烁,这也能 达到动画的效果了。 一个窗户和它的八个邻居,分别是左上、上、右上、左、右、左下、右下 具体邻居的开灯与否如何影响该朋友是否开灯呢?这仍然需要我们为该朋友定义规则, 比如 “只有当八个邻居的灯都亮了我才能开灯”,这就是一条规则, “只要我这个时刻亮着 灯,那么下一时刻无论邻居们什么情况我仍然亮灯”也是一条规则…… 。另外,还有一个初 始状态的问题,也就是在一开始第一秒内哪些窗户应该开灯,那些应该关灯呢?我们完全可 以让窗户后面的每个朋友自己随便决定,也就是初始时刻窗户的开灯状态是随机的。 2 、生命游戏 好了,上面基本讲清楚 了大楼霓虹灯的工作原理了,下面我们开始设计一个切实的动画。 按照刚才讲到的聪明的霓虹灯动画设计方法,我们为每个窗户后面的朋友设计规则如下: 规则 1:如果我现在开着灯,只要八个邻居中有 2 个或者 3 个人开灯了,那么下一时刻 我才开灯,否则邻居亮灯数超过 3 个或者少于 2 个,我都会把灯关掉; 规则 2 :如果我现在关着灯,那么当邻居中有 3 个人开灯,那么下一个时刻我就把灯打 开。 比如某个窗户和他邻居窗户的开灯状态如下图示: 1 2 3 4 其中中心位置的窗户为你所在的窗户(也就是图中的 4 号),在这个时刻,你观察旁边 的八个邻居中有左上、右上、下三个窗户是亮灯的,那么按照规则 2 ,你在下一个时刻应该 把灯打开。这样,每个窗户后面的朋友都按照这两条规则行事,比如左上方 1 号这个邻居下 一个时刻是否应该开灯呢?那么我们就应该考察这个窗户的 8 个邻居,以 1 号窗户为中心的 9 个方格如下图:

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档