From efd3f25900ae24fdeb3dd9733dfc4b2513f97a8d Mon Sep 17 00:00:00 2001 From: Alexandre B A Villares <3694604+villares@users.noreply.github.com> Date: Tue, 10 Dec 2024 23:19:49 -0300 Subject: [PATCH] Update sketch_2024_12_10.py --- 2024/sketch_2024_12_10/sketch_2024_12_10.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/2024/sketch_2024_12_10/sketch_2024_12_10.py b/2024/sketch_2024_12_10/sketch_2024_12_10.py index 4bb21687..3157d19c 100644 --- a/2024/sketch_2024_12_10/sketch_2024_12_10.py +++ b/2024/sketch_2024_12_10/sketch_2024_12_10.py @@ -12,6 +12,7 @@ def setup(): grids = [Grid(order=5)] for _ in range(3): grids.append(grids[-1].rotated90()) + #grids.append(grids[-1].alternate()) for g in grids: g.draw() @@ -24,24 +25,29 @@ class Grid: colors = [0] CS = 20 # Cell size - def __init__(self, els=None, order=3): + def __init__(self, elements=None, order=3): self.order = order - elements = els if els is not None else py5.random_sample(self.colors, - order * order) + color_indices = range(len(self.colors)) + if elements is None: + elements = py5.random_sample(color_indices, order * order) self.array = np.array(elements).reshape(order, order) def rotated90(self): return Grid(np.rot90(self.array), order=self.order) + def alternate(self): + return Grid((self.array + 1) % len(self.colors), order=self.order) + + def draw(self): rows, cols = self.array.shape for r in range(rows): y = self.CS * r for c in range(cols): x = self.CS * c - py5.fill(self.array[r, c]) + py5.fill(self.colors[self.array[r, c]]) py5.square(x, y, self.CS) -py5.run_sketch(block=False) \ No newline at end of file +py5.run_sketch(block=False)