Python+numbaでブッダブロ(Buddhabrot)を描く。ブッダのお姿をしたフラクタル(マンデルブロ集合のプログラムちょっと変更で描ける)。
先日、マンデルブロ集合を描いてみたけれど、この下準備でした。
ブッダブロ(Buddhabort)と言うのがある。https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%83%E3%83%80%E3%83%96%E3%83%AD
ブッダのお姿?をしたフラクタル図形。では描いてみる。numba使っても繰り返し回数は100万回とかすると
結構な時間かかります。
色違いで2種。colormapsはafmhotとGreysを使ってみた。
プログラムはこちら。
import numpy as np
import matplotlib.pyplot as plt
from numba import jit
@jit
def buddha_calc(imag, Nx, Ny, xmin, xmax, ymin, ymax, max_repeat, max_iteration):
dx=(xmax-xmin)/Nx
dy=(ymax-ymin)/Ny
for n in range(max_iteration):
cx=np.random.uniform(xmin,xmax)
cy=np.random.uniform(ymin,ymax)
c=cx+1j*cy
zpath=[]
z=0+0j
iteration=0
while z.real**2+z.imag**2<4 and iteration < max_repeat:
z=z**2+c
zpath.append(z)
iteration +=1
if iteration < max_repeat:
for k in range(len(zpath)):
i=int((zpath[k].real-xmin)/dx)
j=int((zpath[k].imag-ymin)/dy)
if i<Nx and i>=0 and j<Ny and j>=0:
imag[i][j] += 1
np.random.seed(1)
Nx=1200
Ny=1200
max_iteration=10000000
max_repeat=1000
imag=np.zeros((Nx,Ny))
xmax=2.0
xmin=-2.0
ymax=2.0
ymin=-2.0
buddha_calc(imag, Nx, Ny, xmin, xmax, ymin, ymax,max_repeat, max_iteration)
plt.figure(figsize=(12,12))
plt.imshow(imag,extent=(xmin,xmax,ymin,ymax),cmap=plt.cm.afmhot)
plt.show()
« 新型コロナウイルス肺炎の重症患者に使われる人工呼吸器を素粒子・天体物理学者たちが共同で迅速に開発し、FDA(アメリカ食品医薬品局)の緊急使用認可を得たそうだ。Mechanical Ventilator Milano(MVM)。arXivに詳細が出ているのが物理学者らしい。 | トップページ | 松のやでチーズトマトロースミルフィーユかつ定食(持ち帰り弁当、ご飯大盛り)を頂く。 »
「日記・コラム・つぶやき」カテゴリの記事
- 新型コロナウイルス、中国、日本、韓国、アメリカ、ドイツ、フランス、イギリスでの感染者数を指数関数&ロジスティック関数&Log-Logプロットでべき関数フィッティングした(2/28更新)さすがにどの国も伸びは鈍ったか。(2021.03.01)
- 火星と地球で、ボールが斜面を転がり落ちてから斜め投射すると重力に関わらず同じ位置に落ちる、というのをGeogebraでGIFアニメにしてみた。(2021.02.26)
- ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。(2021.02.25)
- ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その3?)ワンライナー(1行というか 1セル)で数値積分のシンプソンの公式を計算する。(2021.02.24)
- 新型コロナウイルス、中国、日本、韓国、アメリカ、ドイツ、フランス、イギリスでの感染者数を指数関数&ロジスティック関数&Log-Logプロットでべき関数フィッティングした(2/21更新)さすがに日本も増加率は鈍化してきた。しかし中国が2/7から更新データがない、、、(2021.02.22)
« 新型コロナウイルス肺炎の重症患者に使われる人工呼吸器を素粒子・天体物理学者たちが共同で迅速に開発し、FDA(アメリカ食品医薬品局)の緊急使用認可を得たそうだ。Mechanical Ventilator Milano(MVM)。arXivに詳細が出ているのが物理学者らしい。 | トップページ | 松のやでチーズトマトロースミルフィーユかつ定食(持ち帰り弁当、ご飯大盛り)を頂く。 »
コメント