Python+numbaでマンデルブロ集合を描く(今更)、、、colormapsの色を確かめるために!
最近、家にいることが多いのでプログラムでも組んでみようと思った。Pythonなら会社でも使えるしまあいいかなということで
お絵かきから、、、で早速カラーマップで悩む、、、どれがいいんだ、、、
ということでここは実際にお絵かき、Mandelbrot集合あたりがいいだろうということでやってみた。
さすがにnumbaのjitで計算は一瞬です。
Spectral
Spectral_r
amhot
amhot_r
twilight_shifted
coolwarm_r
YlOrRd_r
うーん、afmhotあたりか、、、
プログラムはこちら。cm.????のところを変えれば色が変わる。
import numpy as np
import matplotlib.pyplot as plt
from numba import jit
@jit
def mandel_calc(imag, Nx, Ny, xmin, xmax, ymin, ymax, max_iteration):
x=np.linspace(xmin,xmax,Nx)
y=np.linspace(ymin,ymax,Ny)
for i in range(Nx):
for j in range(Ny):
iteration=0
c=x[i]+1j*y[j]
z=0+0j
while z.real**2+z.imag**2<4 and iteration < max_iteration:
z=z**2+c
iteration=iteration+1
imag[j][i]=np.log(iteration)
Nx=1200
Ny=1200
max_iteration=1000
imag=np.zeros((Nx,Ny))
xmax=1.0
xmin=-2.5
ymax=1.5
ymin=-1.5
mandel_calc(imag, Nx, Ny, xmin, xmax, ymin, ymax,max_iteration)
plt.figure(figsize=(12,12))
plt.imshow(imag,extent=(xmin,xmax,ymin,ymax),cmap=plt.cm.coolwarm_r)
# plt.colorbar()
plt.show()
« かつやで赤辛カツ丼(竹、ご飯大盛り)+豚汁(小)を食す。 | トップページ | 新型コロナウイルス肺炎の重症患者に使われる人工呼吸器を素粒子・天体物理学者たちが共同で迅速に開発し、FDA(アメリカ食品医薬品局)の緊急使用認可を得たそうだ。Mechanical Ventilator Milano(MVM)。arXivに詳細が出ているのが物理学者らしい。 »
「学問・資格」カテゴリの記事
- JavaScriptの数値計算ライブラリmathjsを使う(11)バーニングシップフラクタルを描いてみる。このココログでも計算できるようにした。(2023.01.31)
- JavaScriptの数値計算ライブラリmathjsを使う(10) リーマンゼータ関数(Riemann Zeta function)を計算、3次元化してPlotlyでぐりぐり動かす。(2023.01.27)
- JavaScriptの数値計算ライブラリmathjsを使う(9) 仏陀のお姿のフラクタル Buddhabrot(ブッダブロ)を描く。このココログでも計算できるようにしてみた。(2023.01.26)
- JavaScriptの数値計算ライブラリmathjsを使う(8) 4段4次のルンゲクッタ法でローレンツ方程式を計算。このココログでもPlotlyで3次元でぐりぐり動かせるようにしてみた。 (2023.01.25)
- JavaScriptの数値計算ライブラリmathjsを使う(7) マンデルブロ集合を描く。このココログでも計算して図示できるようにしてみた。(2023.01.16)
« かつやで赤辛カツ丼(竹、ご飯大盛り)+豚汁(小)を食す。 | トップページ | 新型コロナウイルス肺炎の重症患者に使われる人工呼吸器を素粒子・天体物理学者たちが共同で迅速に開発し、FDA(アメリカ食品医薬品局)の緊急使用認可を得たそうだ。Mechanical Ventilator Milano(MVM)。arXivに詳細が出ているのが物理学者らしい。 »
コメント