Skip to content

Web application using JavaScript, HTML, and CSS for visualizing fractal structures and their theoretical properties using various methods and algorithms, developed as part of a master's thesis on the topic of Complex Dynamical Systems.

Notifications You must be signed in to change notification settings

Machar6/FractalGenerator

Repository files navigation

Fractal Generator

Welcome to the Fractal Generator, an advanced visualization tool designed to explore and analyze the fascinating world of fractals. This project provides a comprehensive set of methods and algorithms to study complex fractal structures like the Mandelbrot set, Julia sets, and their generalized forms.

Whether you are a mathematician, a student, a developer, or simply curious about fractals, this tool lets you dive deep into their properties, rendering techniques, and mathematical intricacies.
It is intended both for educational purposes and for anyone interested in experimenting with fractal visualization.

Feel free to explore the code, run the application, and customize it to suit your needs.
Contributions and feedback are welcome!

Fundamentals of Fractal Theory

Iterating Process

The iterating process begins with a complex function of the form:

z_{n+1} = f(z_n)

An initial value z_0 is chosen, and the function is applied iteratively:

z_1 = f(z_0), z_2 = f(z_1), ...,z_n = f(z_{n-1})

This sequence of values {z_0, z_1, z_2, ... } is called the orbit of z_0.

Behavior of the Orbit

The behavior of an orbit can be classified into three main types based on the iteration process:

  • Convergence: If the sequence of iterated values {z_n} converges to a fixed point.
  • Divergence: If the sequence {z_n} tends to infinity as n -> ∞.
  • Periodicity: If the sequence {z_n} starts repeating itself after a certain number of iterations.

Let's define the Generalized Mandelbrot and Julia sets for a general exponent d, and later extend the discussion to transcendental functions like sine, cosine, and the exponential function.

Generalized Mandelbrot and Julia Sets

Both the Generalized Mandelbrot and Julia sets are generated by iterating the function:

z_{n+1} = z_n^d + c

where d ∈ Q and c is a complex constant.

Generalized Mandelbrot Set

In the Generalized Mandelbrot set, starting from z_0 = 0, we iterate the function:

z_{n+1} = z_n^d + c

for each value of c in the complex plane.

  • If the resulting sequence {z_n} remains bounded after a set number of iterations, then the point c belongs to the Generalized Mandelbrot set.
  • If the sequence diverges (i.e., |z_n| -> ∞), then c does not belong to the set.

Generalized Julia Set

For the Generalized Julia set, we keep c fixed and iterate the function:

z_{n+1} = z_n^d + c

for different initial points z_0.
The structure of the Julia set depends heavily on the value of c, showing rich and complex behavior.


Application Sections

Hyperbolic Components (bubbles.html)

This section focuses on identifying and analyzing periodic regions within the Mandelbrot set.
It provides tools to locate hyperbolic components, study their bifurcation behavior, and understand their role in fractal structures. Techniques such as Newton's method are employed for precise localization.

Scripts:

Explore a variety of coloring techniques that enhance the visual representation of fractals.
From binary decomposition and gradient mapping to smooth and continuous coloring, this section ensures detailed and aesthetically pleasing visualizations of complex structures.

Scripts:

Dive into advanced methods for generating fractals efficiently.
This section features algorithms like escape time methods, edge detection, and rectangle checking, all optimized for speed and accuracy in fractal rendering.

Scripts:

Mandelbrot Set Explorer (mandelbrotExploring.html)

A dedicated section for the classical Mandelbrot set, allowing users to explore its intricate patterns in depth.
It includes zoom functionality and tools to analyze the set's boundary properties, self-similarity, and fascinating details.

Scripts:

Generalized Mandelbrot Set (mandelbrotGeneralized.html)

Expand your understanding of fractals with the generalized Mandelbrot set for arbitrary exponents and parameters.
This section demonstrates how the classical set transforms under varying mathematical formulations.

Scripts:

Generalized Julia Set (juliaGeneralized.html)

Delve into the generalized Julia sets, which extend beyond traditional definitions.
This section includes support for various functions like exponential and sinusoidal mappings, providing insight into their unique structures and behaviors.

Scripts:

Buddhabrot (buddhabrot.html)

A stunning alternative visualization of the Mandelbrot set, the Buddhabrot emphasizes points in the escape orbit.
This section enables users to generate this artistic representation and examine the dynamic paths of points escaping to infinity.

Scripts:

About

Web application using JavaScript, HTML, and CSS for visualizing fractal structures and their theoretical properties using various methods and algorithms, developed as part of a master's thesis on the topic of Complex Dynamical Systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published