def _replot(self): all_values = [] pixelarray=pygame.PixelArray(self._screen) max_value = 0 for row in xrange(self._pixel_size[1]): first_pixel_pos = ( float( 0 - self._pixel_size[0]/2)/self._pixel_size[0] * self._extent[0] + self._center[0], float(- row + self._pixel_size[1]/2)/self._pixel_size[1] * self._extent[1] + self._center[1]) delta = float(self._extent[0]) / self._pixel_size[0] row_pixels = mandel.get_row(self._pixel_size[0],delta, first_pixel_pos[0], first_pixel_pos[1], 10) all_values.append(row_pixels) max_value = max(max_value, max(row_pixels)) for column,pixel in enumerate(row_pixels): if pixel > 0: pixelarray[column][row] = (255,255,255) else: pixelarray[column][row] = (0,0,0) pygame.display.flip() for row in xrange(self._pixel_size[1]): for column in xrange(self._pixel_size[0]): color = float(all_values[row][column])/max_value*255 pixelarray[column][row] = (color, color, color) pygame.display.flip()
from PIL import Image import sys import mandel image_size = (300,300) mandel_size = 16 im = Image.new("RGB", image_size) for row in xrange(image_size[0]): print row float_coord = (-3.0+float(row+1)/float(image_size[0])*6.0, -1.5) row_pixels = mandel.get_row(float_coord[0],float_coord[1],image_size[1],3.0/image_size[1], 16) for column,pixel in enumerate(row_pixels): if pixel: im.putpixel( (row, column), (255,255,255)) else: im.putpixel( (row, column), (0,0,0)) im.save("mandelbrot.png", "PNG")