Fractals/Fractalshades

Fractalshades by Geoffroy Billotey

=instalation=

pip install pip setuptools --upgrade pip install fractalshades

Where ?

For interactive exploration, a GUI is implemented under PyQt6.

=Projections = A Projection defines a mapping acting on the screen-pixels $$ z_{pix} = (x_{pix}, y_{pix}) $$ before iteration.

Projections
 * doc
 * file projections.py

exponential
An exponential projection will map :$$z_{pix}$$ as follows:


 * $$ \bar{z}_{pix} = f(z_{pix}) = \exp(h_{moy}) \cdot \exp(dh \cdot z_{pix})$$

where:
 * $$ h_{moy} = \frac{1}{2} \cdot (h_{min} + h_{max}) $$
 * $$dh = h_{max} - h_{min}$$

The `xy_ratio` of the zoom will be adjusted (during run time) to ensure that: $$\bar{y}_{pix}$$ extends from $$-\pi$$ to $$\pi$$

This class can be used with arbitrary-precision deep zooms.

Parameters
 * hmin: str or float or mpmath.mpf
 * scaling at the lower end of the x-axis
 * hmax: str or float or mpmath.mpf
 * scaling at the higher end of the x-axis
 * rotates_df: bool. If ``True``, the derivative will be scaled but also rotated according to the mapping. Otherwise, only the scaling will be taken into account. A rule of thumb is this value shall be set to ``True`` for a standalone picture, and to ``False`` if used as input for a movie making tool

It is defined in class

class Expmap(Projection): def __init__(self, hmin, hmax, rotates_df=True, orientation="horizontal"):

Examples projection = fs.projection.Expmap(-1.3, np.log(1.e7) + 0.3)
 * P01-feigenbaum_expmap.html
 * P04-deep_expmap

so
 * hmin = -1.3
 * hmax = log(1.e7) + 0.3 = 10000000.3

A simple pass-through Frame, extracting the raw my_db data is:

=References=