分形/Fractalshades
外觀
< 分形
Fractalshades 由 Geoffroy Billotey 創作
pip install pip setuptools --upgrade pip install fractalshades
在哪裡?
zalman:~$ pip list -v
Package Version Location Installer
----------------------- --------------- ------------------------------------------- ---------
apturl 0.5.2 /usr/lib/python3/dist-packages
bcrypt 3.2.0 /usr/lib/python3/dist-packages
blinker 1.4 /usr/lib/python3/dist-packages
Brlapi 0.8.3 /usr/lib/python3/dist-packages
certifi 2020.6.20 /usr/lib/python3/dist-packages
chardet 4.0.0 /usr/lib/python3/dist-packages
chrome-gnome-shell 0.0.0 /usr/lib/python3/dist-packages
click 8.0.3 /usr/lib/python3/dist-packages
colorama 0.4.4 /usr/lib/python3/dist-packages
command-not-found 0.3 /usr/lib/python3/dist-packages
cryptography 3.4.8 /usr/lib/python3/dist-packages
cupshelpers 1.0 /usr/lib/python3/dist-packages
dbus-python 1.2.18 /usr/lib/python3/dist-packages
defer 1.0.6 /usr/lib/python3/dist-packages
Deprecated 1.2.13 /usr/lib/python3/dist-packages
distro 1.7.0 /usr/lib/python3/dist-packages
distro-info 1.1build1 /usr/lib/python3/dist-packages
duplicity 0.8.21 /usr/lib/python3/dist-packages
fasteners 0.14.1 /usr/lib/python3/dist-packages
fractalshades 0.5.6 /home/a/.local/lib/python3.10/site-packages pip
為了互動式探索,一個 GUI 在 PyQt6 下實現。
投影定義了一個對映,它作用於螢幕畫素 在迭代之前。
投影
- 文件
- 檔案 projections.py
指數投影 將對映 如下所示
其中
縮放的 `xy_ratio` 將在執行時調整,以確保: 從 擴充套件到
def adjust_to_zoom(self, fractal):
# We need to adjust the fractal xy_ratio in order to match hmax - hmin
# target: dh = 2. * np.pi * xy_ratio
if self.premul_1j:
xy_ratio = (np.pi * 2.) / self.dh
nx = int(fractal.nx * xy_ratio + 0.5)
else:
xy_ratio = self.dh / (np.pi * 2.)
nx = fractal.nx
fractal.xy_ratio = self.xy_ratio = xy_ratio
fractal.zoom_kwargs["xy_ratio"] = xy_ratio
fractal.nx = nx
fractal.zoom_kwargs["nx"] = nx
logger.info(
"Adjusted parameters for Expmap projection:\n"
f"zoom parameter nx: {fractal.nx}\n"
f"zoom parameter xy_ratio: {fractal.xy_ratio}"
)
self.make_impl()
此類可用於任意精度深層縮放。
引數
- hmin:str 或 float 或 mpmath.mpf
- x 軸下端處的縮放比例
- hmax:str 或 float 或 mpmath.mpf
- x 軸上端處的縮放比例
- rotates_df:bool。如果 ``True``,則導數將根據對映進行縮放,但也將旋轉。否則,將僅考慮縮放比例。經驗法則是在製作獨立圖片時將此值設定為 ``True``,而在將其用作電影製作工具的輸入時設定為 ``False``
它在類中定義
class Expmap(Projection): def __init__(self, hmin, hmax, rotates_df=True, orientation="horizontal"):
示例
projection = fs.projection.Expmap(-1.3, np.log(1.e7) + 0.3)
所以
- hmin = -1.3
- hmax = log(1.e7) + 0.3 = 10000000.3
一個簡單的直通幀,提取原始 my_db 資料是
fractalshades.db.Frame(
x=0., y=0., dx=1.0,
nx=my_db.zoom_kwargs["nx"],
xy_ratio=my_db.zoom_kwargs["xy_ratio"]
)