公司網(wǎng)站抬頭用什么軟件做關(guān)鍵詞搜索數(shù)據(jù)
一花一葉一世界,一草一木一浮生.
使用了四個(gè)不同的線性變換,根據(jù)概率選擇其中一個(gè)變換并更新 x 和 y 坐標(biāo)。然后將生成的綠色點(diǎn)繪制出來,形成一片蕨菜葉。
import numpy as np
import matplotlib.pyplot as pltdef fern_fractal(num_points):# 初始化坐標(biāo)x, y = 0, 0points = []for _ in range(num_points):# 生成隨機(jī)數(shù)以選擇變換r = np.random.rand()# 根據(jù)概率選擇變換if r < 0.01:# 變換 1x_new = 0y_new = 0.16 * yelif r < 0.86:# 變換 2x_new = 0.85 * x + 0.04 * yy_new = -0.04 * x + 0.85 * y + 1.6elif r < 0.93:# 變換 3x_new = 0.2 * x - 0.26 * yy_new = 0.23 * x + 0.22 * y + 1.6else:# 變換 4x_new = -0.15 * x + 0.28 * yy_new = 0.26 * x + 0.24 * y + 0.44# 更新坐標(biāo)x, y = x_new, y_newpoints.append((x, y))return np.array(points)# 設(shè)置點(diǎn)的數(shù)量
num_points = 100000
points = fern_fractal(num_points)# 繪制分形
plt.figure(figsize=(8, 12))
plt.plot(points[:, 0], points[:, 1], 'g.', markersize=0.5) # 繪制蕨菜葉
plt.axis('off') # 關(guān)閉坐標(biāo)軸
plt.title('Fern Fractal')
plt.show()