フラクタル図形その② ジュリア集合の実践
こんにちは。今回は、フラクタル図形についての記事その②を紹介したいと思います。
前回はマンデルブロ集合についてのコードの紹介と、どんな感じになるのかという実際の画像を紹介しました。今回は、マンデルブロ集合の次に有名なジュリア集合について紹介したいと思います。
前回の記事
ではさっそくコードの紹介です。
import numpy as np
import matplotlib.pyplot as plt
def julia(c, max_iter):
def julia_inner(z):
for n in range(max_iter):
if abs(z) > 2:
return n
z = z**2 + c
return max_iter
return julia_inner
def julia_fractal(width, height, x_min, x_max, y_min, y_max, max_iter, c):
image = np.zeros((width, height))
for x in range(width):
for y in range(height):
real = x_min + x * (x_max - x_min) / (width - 1)
imag = y_min + y * (y_max - y_min) / (height - 1)
z = complex(real, imag)
color = julia(c, max_iter)(z)
image[x, y] = color
return image
width, height = 800, 800
x_min, x_max = -2, 2
y_min, y_max = -2, 2
max_iter = 100
c = complex(-0.7, 0.27)
fractal_image = julia_fractal(width, height, x_min, x_max, y_min, y_max, max_iter, c)
plt.imshow(fractal_image, cmap='viridis', extent=(x_min, x_max, y_min, y_max))
plt.colorbar()
plt.title('Julia Fractal')
plt.show()
こんな感じですね。詳しい説明はいつかしたいと思います。
このコードを実行すると・・・
この記事が気に入ったらサポートをしてみませんか?