#!/usr/bin/env python3 import math from color import Color from matrix import Matrix import time import random class Cell: def __init__(self) -> None: self.state: float = random.uniform(0, 10) self.increment: float = random.uniform(0.1, 0.5) self.factor: float = random.uniform(0.9, 1.1) def get_value(self) -> float: return 1 + (math.sin(self.state) * self.factor) def main(): m = Matrix() cells = [Cell() for _ in range(2048)] for i in range(255): for index, cell in enumerate(cells): cell.state += 0.2 m.drawPixel(index % 64, index // 64, Color( round(cell.get_value()*255), 0, 0 )) m.show() time.sleep(0.3) if __name__ == '__main__': main()