From 26e597b9c1e00cbefa68644dd1fa8f6f3fcd870d Mon Sep 17 00:00:00 2001 From: Alexandre B A Villares <3694604+villares@users.noreply.github.com> Date: Mon, 9 May 2022 10:25:39 -0300 Subject: [PATCH] 09hex_cells --- 2022/sketch_2022_05_09ahex_cells/cell.py | 119 ++++++++++++++++++ .../sketch_2022_05_09ahex_cells.png | Bin 0 -> 48686 bytes .../sketch_2022_05_09ahex_cells.py | 68 ++++++++++ README.md | 8 ++ 4 files changed, 195 insertions(+) create mode 100644 2022/sketch_2022_05_09ahex_cells/cell.py create mode 100644 2022/sketch_2022_05_09ahex_cells/sketch_2022_05_09ahex_cells.png create mode 100644 2022/sketch_2022_05_09ahex_cells/sketch_2022_05_09ahex_cells.py diff --git a/2022/sketch_2022_05_09ahex_cells/cell.py b/2022/sketch_2022_05_09ahex_cells/cell.py new file mode 100644 index 00000000..68a492b1 --- /dev/null +++ b/2022/sketch_2022_05_09ahex_cells/cell.py @@ -0,0 +1,119 @@ +from math import sqrt +from py5 import * +from functools import cache + + +SIN_60 = sqrt(3) * 0.5 # sin(radians(60)) + +class mock_cell: + state = 1 + gen = 0 + +class Cell(): + + board = dict() + EVN_NBS = ((0, 1), (0, -1), (-1, 0), (1, 0), (-1, -1), (1, -1)) + ODD_NBS = ((0, 1), (0, -1), (-1, 0), (1, 0), (-1, 1), (1, 1)) + W = 6 + H = SIN_60 * W + last_clicked = None + + def __init__(self, i, j, rnd=False): + self.board[(i, j)] = self + self.i = i + self.j = j + self.x = i * self.W * 1.5 + self.W + if i % 2 == 0: + self.y = j * self.H * 2 + self.H + else: + self.y = j * self.H * 2 + self.H * 2 + if rnd: + self.state = 1 if random(5000 / (1 + j)) < 1 else 0 + else: + self.state = 0 + self.next_state = self.state + self.gen = 0 + self.nbs = 0 + + def display(self): + if self.state: + with push_matrix(): + translate(self.x, self.y) + stroke_weight(self.W - (abs(self.gen / 5.0) % 4)) + d = (4 + 4 * sin(self.gen / 5.0)) + stroke(d * 16, 200, 200) #42 * self.nbs) + #no_stroke() + point(0, 0) + #self.hexagon(Cell.W) + + def calc_live_nbs(self): + nbs = self.EVN_NBS if self.i % 2 == 0 else self.ODD_NBS + return sum(self.get_neighbour(i_offset, j_offset).state + for i_offset, j_offset in nbs) + + + def get_neighbour(self, i_offset, j_offset): + return self.board.get((self.i + i_offset, + self.j + j_offset), + mock_cell()) + + def get_live_nbs(self): + nbs = self.EVN_NBS if self.i % 2 == 0 else self.ODD_NBS + return [self.get_neighbour(i_offset, j_offset) + for i_offset, j_offset in nbs + if self.get_neighbour(i_offset, j_offset).state] + + def calc_next_state(self): + self.nbs = nbs = self.calc_live_nbs() + + # if nbs == 1 or nbs == 2 and self.state == 0: + # self.next_state = 1 + # lnbs = self.get_live_nbs() + # if lnbs: + # self.gen = lnbs[-1].gen + 1 + # elif nbs > 4: + # self.next_state = 0 + # else: + # self.next_state = self.state + + # muito bom + if nbs == 2 and self.state == 0: + self.next_state = 1 + lnbs = self.get_live_nbs() + if lnbs: + self.gen = lnbs[-1].gen + 1 + elif nbs > 4: + self.next_state = 0 + else: + self.next_state = self.state + + # if nbs == 1 and self.state == 0: + # self.next_state = 1 + # lnbs = self.get_live_nbs() + # if lnbs: + # self.gen = lnbs[0].gen + 1 + # elif nbs > 3: + # self.next_state = 0 + # else: + # self.next_state = self.state + + def check_click(self, mx, my): + if (self.mouse_over(mx, my) and + self.__class__.last_clicked != self): + self.state ^= 1 + self.__class__.last_clicked = self + + def mouse_over(self, mx, my): + return dist(self.x, self.y, mx, my) < self.H + + @staticmethod + def hexagon(w): + h = SIN_60 * w + with begin_shape(): + vertex(-w, 0) + vertex(-w / 2, -h) + vertex(w / 2, -h) + vertex(w, 0) + vertex(w - w / 2, h) + vertex(-w / 2, h) + vertex(-w, 0) diff --git a/2022/sketch_2022_05_09ahex_cells/sketch_2022_05_09ahex_cells.png b/2022/sketch_2022_05_09ahex_cells/sketch_2022_05_09ahex_cells.png new file mode 100644 index 0000000000000000000000000000000000000000..275e1cfb10b9b0d7051ee1b47edc75be3e77b7a3 GIT binary patch literal 48686 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