欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 曼德布羅

錢良釵2年前9瀏覽0評論

Python 是一種高級編程語言,以它的簡單易學和開源穩定著稱。Python 為曼德布羅提供了完美的解決方案,可用于生成美觀的分形圖像,這些圖像可以在計算機圖形學中使用。在 Python 中,生成曼德布羅圖像非常簡單,只需要用到幾行代碼。

import numpy as np
import matplotlib.pyplot as plt 
def mandelbrot( h,w, maxit=20 ):
"""returns an image of the Mandelbrot fractal of size (h,w)"""
y,x = np.ogrid[ -1.4:1.4:h*1j, -2:0.8:w*1j ]
c = x+y*1j
z = c
divtime = maxit + np.zeros(z.shape, dtype=int)
for i in range(maxit):
z = z**2 + c
diverge = z*np.conj(z) >2**2   
div_now = diverge & (divtime==maxit)
divtime[div_now] = i
z[diverge] = 2  
return divtime
plt.imshow(mandelbrot(400,400))
plt.show()

在這段代碼中,我們首先定義 Mandelbrot() 函數,它接受圖像的高度和寬度作為參數。接下來,我們定義數組 y 和 x 作為虛數軸和實數軸的初始值。然后我們用 numpy 的 ogird() 方法來生成 c 數組,該數組包含所有需要繪制的復數點。接下來,我們循環運行 z = z**2 + c,直到達到最大迭代次數或者 z 趨近于無窮大。我們使用 diverge 數組來跟蹤 z 是否收斂到無窮大,并跟蹤 divtime 數組來記錄收斂的迭代次數。最后,我們返回 divtime 數組并用 matplotlib 模塊來繪制 Mandelbrot 圖像。

總結來說,Python 中的 Mandelbrot 圖像生成比其他編程語言更簡單,而且速度很快。Python 也有許多用于繪制圖形的庫,如 matplotlib,可用于使這些圖像變得更加美觀。