【发布时间】:2021-02-17 21:23:30
【问题描述】:
我正在制作一个 langton's ant 元胞自动机程序,我希望用户能够平移和缩放。现在,我将所有矩形(网格正方形)存储为字典,为了移动/缩放,我遍历所有矩形并应用所需的转换。
def zoom(self, factor, center_x, center_y):
for x in range(WIDTH):
for y in range(HEIGHT):
rect = self.rects[x][y]
self.rects[x][y].x = (rect.x - center_x)*factor + center_x
self.rects[x][y].y = (rect.y - center_y)*factor + center_y
self.rects[x][y].width = rect.width * factor
self.rects[x][y].height = rect.height * factor
但是,对于矩形的数量 (32,000),进行平移和缩放需要一秒钟或一秒钟。还有比这更好的方法吗?谢谢!
Here 是完整代码
【问题讨论】:
标签: python pyglet cellular-automata