用python玩转元胞自动机

2025-12-30 02:04:40

1、整体代码,请下载于:pan.baidu.com/s/1bpbL0nZDQBuICD8PWo26oQ,

提取码: 4e43。

用python玩转元胞自动机

2、元胞自动机需要一个初始状态,这里给出一个初始状态:

a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if (i+j)%10<2 or (i-j)%10<2:

            a[i,j]=1

只有0和1的简单情形。本文只考虑这种简单情形。

用python玩转元胞自动机

3、它的前36步变化的动画如下。

用python玩转元胞自动机

4、前100步变化。

用python玩转元胞自动机

5、换一种初始状态:

a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if (i+j)%10<2 or (i-j)%10<3:

            a[i,j]=1

前100步动画如下。

用python玩转元胞自动机

6、a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if (i**2+j**2)%10<2:

            a[i,j]=1

用python玩转元胞自动机

7、a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if 20<(i**2+j**2)%36<30:

            a[i,j]=1

用python玩转元胞自动机

8、a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if 20<(i+j)%36<30:

            a[i,j]=1

用python玩转元胞自动机

9、a=np.zeros((100,136))

u,v=a.shape

for i in range(u):

    for j in range(v):

        if i==68 or j==68:

            a[i,j]=1

用python玩转元胞自动机

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢