# ELEMENTARNI BUNECNY AUTOMAT 54 # nacteme graficke knihovny pro kresleni barevnych map a grafu # a numericku knihovnu import matplotlib as mpl from matplotlib import pyplot as plt import numpy as np # definujeme rozmer mrizky a pocet kroku rozmer = 20 kroky = 16 # vytvorime pole nul, do ktereho budeme ukladat stavy bunek # zavorka (kroky, rozmer) udava velikost 2D pole pole = vzd = np.zeros((kroky, rozmer),dtype=np.int) # provedeme inicializaci, tj. zmenime stav jedne bunky na 1 pole[0,10] = 1 # projdeme pole pomoci dvou for cyklu # periodicke podminky vytvarime pomoci operace modulo for i in range(kroky-1): for j in range(rozmer): if pole[i,(j-1) % rozmer] == 1: if pole[i,j] == 1: pole[i+1,j] = 0 else: pole[i+1,j] = 1 else: if pole[i,j] == 1: if pole[i,(j+1) % rozmer] == 1: pole[i+1,j] = 0 else: pole[i+1,j] = 1 else: if pole[i,(j+1) % rozmer] == 1: pole[i+1,j] = 1 else: pole[i+1,j] = 0 # definujeme barevne schema pomoci vyctu, v nasem pripade cernobile barvy = mpl.colors.ListedColormap(['white','black']) # definujeme prechod mezi barvami kdekoli mezi 0 a 1 hranice=[0,0.5,1] # pouzijeme barvy a hranice k normovani barevne mapy norma = mpl.colors.BoundaryNorm(hranice, barvy.N) # vykreslime barevnou mapu a zobrazime ji mapa = plt.imshow(pole,cmap=barvy,interpolation='None',norm=norma) plt.show()