【发布时间】:2017-05-10 07:58:59
【问题描述】:
我想使用 python 生成像this 这样的图像的分形。我发现的代码会生成正常的分形,我一直无法找到有关如何复制图像的分形的任何帮助。用于生成分形的代码是 -
from numpy import *
def mandel(n, m, itermax, xmin, xmax, ymin, ymax):
'''
(n, m) are the output image dimensions
itermax is the maximum number of iterations to do
xmin, xmax, ymin, ymax specify the region of the
set to compute.
'''
ix, iy = mgrid[0:n, 0:m]
x = linspace(xmin, xmax, n)[ix]
y = linspace(ymin, ymax, m)[iy]
c = x+complex(0,1)*y
del x, y
img = zeros(c.shape, dtype=int)
ix.shape = n*m
iy.shape = n*m
c.shape = n*m
z = copy(c)
for i in xrange(itermax):
if not len(z):
break
multiply(z, z, z)
add(z, c, z)
rem = abs(z)>2.0
img[ix[rem], iy[rem]] = i+1
rem = -rem
z = z[rem]
ix, iy = ix[rem], iy[rem]
c = c[rem]
return img
if __name__=='__main__':
from pylab import *
import time
start = time.time()
I = mandel(512, 512, 100, -2, .5, -1.25, 1.25)
print 'Time taken:', time.time()-start
I[I==0] = 101
img = imshow(I.T, origin='lower left')
img.write_png('../images/mandel.png')
show()
我需要知道如何使用构建分形的基础图像。有人可以指出我正确的方向吗?
【问题讨论】: