用python玩转元胞自动机

时间:2026-02-12 21:54:50

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玩转元胞自动机

© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com