【发布时间】:2019-10-28 04:56:27
【问题描述】:
我正在使用 PyGame 并尝试创建一个可缩放/可缩放的 Mandelbrot 集。我已经为方形窗口和坐标设置了这个,在复平面的两个轴上只能从 -1 到 1。我这样做的方式是针对屏幕上的每个像素调用此函数:
#Import pygame and initialize
xSize = 50
ySize = 50
scale = 20
size = width, height = (xSize * scale), (ySize * scale)
screen = pygame.display.set_mode(size)
def getCoords(x, y):
complexX = (x/((xSize * scale)/2)) - 1
complexY = (y/((ySize * scale)/2)) - 1
return complexX, complexY
这是我实际绘制像素的循环:
for y in range(0, (ySize * scale)):
for x in range(0, (xSize * scale)):
i = 0
z = getCoords(x, y)
complexNum = complex(z[0], z[1])
zOld = 0
blowsUp = False
#Check to see if (z^2 + c) "blows up"
if blowsUp:
screen.set_at((x, y), color1)
else:
screen.set_at((x, y), color0)
基本上我想要做的是有两个元组(一个用于 x,一个用于 y),其中包含从复平面绘制的最大值和最小值(即这里我只是绘制 1 到-1 在实轴和虚轴上)。我想这可以通过编辑 getCoords() 函数来完成,但是在对表达式进行了大量修改之后,我似乎无法找到正确执行此操作的方法。
【问题讨论】:
标签: python pygame mandelbrot