Python+numbaでz^2+cのジュリア集合を色んなcで描く。
フラクタル図形を描くシリーズ続き。今回はジュリア集合(のうちf(z)=z^2+c)。
https://en.wikipedia.org/wiki/Julia_set
ではいろんなcで描いたもの(一瞬で描けます)。
c = −0.7269 + 0.1889i
c = −0.8 + 0.156i
c = 0.285 + 0i
c = −0.835 − 0.2321i
c = −0.4 + 0.6i
プログラムリストはこちら:
import numpy as np
import matplotlib.pyplot as plt
from numba import jit
@jit
def julia_calc(imag, Nx, Ny, xmin, xmax, ymin, ymax, max_iteration):
x=np.linspace(xmin,xmax,Nx)
y=np.linspace(ymin,ymax,Ny)
c= -0.835-0.2321j
for i in range(Nx):
for j in range(Ny):
iteration=0
z=x[i]+1j*y[j]
while z.real**2+z.imag**2<4 and iteration < max_iteration:
z=z**2+c
iteration=iteration+1
imag[j][i]=iteration
Nx=1200
Ny=1200
max_iteration=400
imag=np.zeros((Nx,Ny))
xmax=2.0
xmin=-2.0
ymax=2.0
ymin=-2.0
julia_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.hot)
# plt.colorbar()
plt.show()
« 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2020年5月18日 Microwave Journal の特集はQualcommの通信における歴史、Microwave Magazineの特集は3Dプリンタで作るフィルタ、QorvoのBoostシリーズフィルタ、Rogersのミリ波材料、など。 | トップページ | Python+Sympyで全部係数を変数にした連立3元一次方程式を計算。init_printingを使うと表示が綺麗なのと、解が辞書型なのに[’x’]とかで取り出せない。[x]じゃないと。 »
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年2月7日 NGMNが5Gフレームワークのホワイトペーパー発行、TaoglasがAIを使ったアンテナリコメンデーションエンジン発表、SHFが100GHz 22dBゲインのアンプ発表、SiTimeがルネサスのタイミングビジネス取得、YoleのRF GaNレポート(2026.02.07)
- 高周波・RFニュース 2025年2月6日 Texas InstrumentsがSilicon Labsを買収、JDIとKymetaが衛星通信用アンテナガラス基板の共同開発、Emersonの計測に特化したNI Nigel AI、TDKが200A垂直給電用μPOLモジュール量産、ATISがOpen Access Network Forum発足(2026.02.06)
- 高周波・RFニュース 2026年2月5日 BroadcomがエンタープライスWi-Fi 8アクセスポイントとスイッチ発表、Vishayが民生と車載向けパワーインダクタ発表、ABI Researchの6Gスペクトラムレポート、Mini-CircuitsのMMIC LNAアプリケーションノートなど(2026.02.05)
« 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2020年5月18日 Microwave Journal の特集はQualcommの通信における歴史、Microwave Magazineの特集は3Dプリンタで作るフィルタ、QorvoのBoostシリーズフィルタ、Rogersのミリ波材料、など。 | トップページ | Python+Sympyで全部係数を変数にした連立3元一次方程式を計算。init_printingを使うと表示が綺麗なのと、解が辞書型なのに[’x’]とかで取り出せない。[x]じゃないと。 »







コメント