鎬庝箞浣跨敤Matplotlib鍜孨umpy鐢熸垚鍒嗗舰鍥惧儚
瑕佷娇鐢∕atplotlib鍜孨umpy鐢熸垚鍒嗗舰鍥惧儚锛屽彲浠ヤ娇鐢ㄩ€掑綊鐨勬柟娉曟潵缁樺埗鍒嗗舰鍥炬銆備互涓嬫槸涓€涓畝鍗曠殑绀轰緥浠g爜鏉ョ敓鎴愬垎褰㈠浘鍍忥細
import matplotlib.pyplot as plt
import numpy as np
# 璁剧疆鐢诲竷
fig, ax = plt.subplots()
ax.set_aspect('equal')
# 瀹氫箟缁樺埗鍒嗗舰鍥炬鐨勫嚱鏁?/span>
def draw_fractal(x, y, size):
if size < 1:
return
else:
# 缁樺埗褰撳墠鍥炬
ax.plot(x, y, color='black', linewidth=1)
# 璁$畻涓嬩竴涓浘妗堢殑浣嶇疆鍜屽ぇ灏?/span>
new_size = size / 3
draw_fractal(x - new_size, y, new_size)
draw_fractal(x + new_size, y, new_size)
draw_fractal(x, y - new_size, new_size)
draw_fractal(x, y + new_size, new_size)
# 璁剧疆鍒濆鍒嗗舰鍥炬鐨勪綅缃拰澶у皬
start_size = 100
draw_fractal(0, 0, start_size)
# 鏄剧ず鐢熸垚鐨勫垎褰㈠浘鍍?/span>
plt.show()
杩愯涓婅堪浠g爜锛屽皢浼氱敓鎴愪竴涓畝鍗曠殑鍒嗗舰鍥炬銆傛偍鍙互鑷畾涔夌粯鍒跺垎褰㈠浘妗堢殑鍑芥暟鏉ョ敓鎴愪笉鍚屽舰鐘剁殑鍒嗗舰鍥惧儚銆傞殢鐫€閫掑綊鐨勬鏁板鍔狅紝鍒嗗舰鍥惧儚浼氳秺鏉ヨ秺澶嶆潅銆傛偍鍙互灏濊瘯淇敼缁樺埗鍑芥暟浠ュ強鍒濆浣嶇疆鍜屽ぇ灏忔潵鐢熸垚涓嶅悓椋庢牸鐨勫垎褰㈠浘鍍忋€?/p>