Мандельброт в python - PullRequest
       45

Мандельброт в python

0 голосов
/ 31 января 2020

Я пытаюсь закодировать набор Мандельброта в python. Но мой код показывает черное изображение вместо изображения Мандельброта. Это мой полный код.

import numpy as np
from PIL import Image

def mandelbrot_count(c,n):
    z = 0j
    for i in range(n):
        z = z*z+c
        if abs(z)>2:
            return i
    return n


width = 300
height = 300

image_array = np.zeros((height,width))

for i in range(height):
    for j in range(width):
        c = complex(i,j)
        n = mandelbrot_count(c,30)
        image_array[i][j]=n

image = Image.fromarray(image_array)
image.show()

1 Ответ

3 голосов
/ 31 января 2020

как уже упоминалось: масштабирование. Например, диапазон от -2,25 до 0,75 и от -1,25 до 1,25 с шагом> 1000 приводит к прикрепленному изображению.

import numpy as np
from PIL import Image

def mandelbrot_count(c,n):
    z = 0j
    for i in range(n):
        z = z*z+c
        if abs(z)>2:
            return i
    return n

width = 1500
height = 1250

image_array = np.zeros((height,width))

for i in range(height):
    for j in range(width):
        c = complex(-2.25+i*(0.75+2.25)/1500,-1.25 + j*(1.25 + 1.25)/1250)
        n = mandelbrot_count(c,30)
        image_array[i][j]=n

image = Image.fromarray(image_array)
image.show()

enter image description here

...