1、首先介绍什么是奇偶规则。奇偶规则是定义在二维网格上的一种元胞自动机。每个网格的状态用0各1表示。(1) 对应于每一个元胞位置(i,j)计算出其上下左右四个最近领居在t时刻的状态值St的总和M(i,j)。(2) 根据M(i,j)取值的奇偶性来决定下一时刻t+1该点的状态St+1(i,j)。当M(i,j)为偶数时,St+1(i,j)等于0;当M(i,j)为奇数时,St+1(i,j)等于1.
2、下面给出完整的实现代码以及注释,下图是第一部分。第2行代码gcf是当前图像的句柄;set(句柄'属性名'属性值) doublebuffer 双缓存;双缓冲设置在动画的制作中比较常用,这样设置的目的是为了防止在不断循环画动画的时候产生闪烁的现象。第10行代码fix()是取趋近于0整数,如a=-1.9,fix(a)=-1。
3、下面第二部分代码,也是实现元胞状态转换规则的核心部分。第13行是计算近邻状态值,你也可以用循环来做,这里是用矩阵计算,更快捷方便。
4、运行的结果如下:
5、其中,t=90和t=108时刻的运行结果单独展示出来如下 :