Skip to content

GUI for interactive generation, display and inspection of Julia set images

Notifications You must be signed in to change notification settings

spookyboogy/JuliaGUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JuliaGUI

A GUI for interactive generation, display and inspection of Julia set images.

rabbit1 rabbit2 rabbit3

dendrite1 dendrite2 dendrite3

dragon1 dragon2 dragon3

Installation & Usage

  1. Install Dependencies: Ensure you have Python installed on your system. If not, download and install it from python.org. Then install the dependencies if you do not already have them.

    • Pillow
    • Numpy

    You can install them manually or with the following command:

    pip install -r requirements.txt

  2. Clone the Repository:

    git clone https://github.com/spookyboogy/JuliaGUI.git

  3. Navigate to the Directory:

    cd JuliaGUI

  4. Run the Program:

    python juliagui.pyw

About Julia sets

Informally speaking, normal Julia sets are defined by the holomorphic equation:

$$ {\displaystyle f_{c}(z)=z^{2}+c~, \quad c \in \mathbb{C} } $$

Where,

$$ c = a + ib : \quad -2 \leq a \leq 2, \quad -2 \leq b \leq 2, \quad a,b \in \mathbb{R} $$

The Julia set associated with a particular complex number c is the boundary separating the set of points in the complex plane that remain bounded under iteration of the function from those that tend toward infinity.

While those aren't strict ranges for a and b, most recognizable Julia sets come from values within that range, as they tend to correspond to connected Julia sets. When a Julia set is connected, it implies a higher degree of stability in the behavior of the iterated function.

The Mandelbrot set acts as a parameter space for or an index of Julia sets. Each point in the Mandelbrot set corresponds to a different Julia set. If a point in the Mandelbrot set corresponds to a connected Julia set, then the Julia set is said to be in the Mandelbrot set.

alt alt

To learn more about these fascinating mathematical objects, check out the Julia set wikipedia page :)

Using the control panel

alt

  • Redraw : After setting new value(s) for a and b, this triggers a redraw of the julia set. If a and b are unchanged, this returns to the original zoom level
  • Resize : By default, images are rendered at 500px x 500px resolution. The resize button allows you to increase or decrease the resolution to your liking. Note that larger resolutions take longer to render.
  • Zoombox : Select a rectangular region on the canvas to zoom into
  • Safe(r)zoom : Select a (strictly) square region to zoom into. More stable/consistent than zoombox.
  • <--- : Go to the previously genereated image, ie a lesser level of zoom
  • ---> : Go to the next image, higher level of zoom, if it exists
  • Random : Selects random values for a and b and triggers a redraw
  • Export : Export the current image to a format other than .pgm

About

GUI for interactive generation, display and inspection of Julia set images

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages