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に詳細が出ているのが物理学者らしい。 | トップページ | 松のやでチーズトマトロースミルフィーユかつ定食(持ち帰り弁当、ご飯大盛り)を頂く。 »
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース2024年12月9日 iFixitがDJI Neo分解、TechInsightsがApple Pencil Pro分解、QualcommのNeurIPS 2024でのAI技術発表、IntelのIEDM 2024での発表、 Nokiaの7GHz帯の6G、Analog DevicesのPhased Array Antennaのホワイトペーパー、ZDTが史上二番目の売上高(2024.12.09)
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
« 新型コロナウイルス肺炎の重症患者に使われる人工呼吸器を素粒子・天体物理学者たちが共同で迅速に開発し、FDA(アメリカ食品医薬品局)の緊急使用認可を得たそうだ。Mechanical Ventilator Milano(MVM)。arXivに詳細が出ているのが物理学者らしい。 | トップページ | 松のやでチーズトマトロースミルフィーユかつ定食(持ち帰り弁当、ご飯大盛り)を頂く。 »
コメント