見出し画像

フラクタル図形その② ジュリア集合の実践

こんにちは。今回は、フラクタル図形についての記事その②を紹介したいと思います。

前回はマンデルブロ集合についてのコードの紹介と、どんな感じになるのかという実際の画像を紹介しました。今回は、マンデルブロ集合の次に有名なジュリア集合について紹介したいと思います。

前回の記事

ではさっそくコードの紹介です。

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()

こんな感じですね。詳しい説明はいつかしたいと思います。

このコードを実行すると・・・


1


この記事が参加している募集

#やってみた

36,924件

#AIとやってみた

27,570件

この記事が気に入ったらサポートをしてみませんか?