BojanSof / Fractals

Collection of fractals

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fractals

Fractals

This program contains collection of fractals, which can be accessed from a simple gui. Few of them have unique properties, which can be easily changed from the gui. Also, you can save the fractal as an image, with preferred width and height.

List of fractals

  • Board Board Fractal

  • Cantor set Cantor set

  • Crystal Crystal Fractal

  • HTree HTree Fractal

  • Hilbert curve Hilbert curve

  • Koch snowflake Koch snowflake

  • Mandelbrot set Mandelbrot set

  • Peano curve Peano curve

  • Sierpinski carpet Sierpinski carpet

  • Sierpinski triangle Sierpinski triangle

  • Tree Tree Fractal

Getting Started

The program is created in Java (using JDK 11) with the JavaFX (version 11) platform. The project solution for the program was created in Eclipse IDE with maven support (m2eclipse plugin), so it can be imported in Eclipse or it can be build driectly using maven. I tested the project on Windows 10 and Ubuntu.

Prerequisites

Maven
JDK 11 or greater
JavaFX 11 or greater

Building

Clone the repository

git clone https://github.com/BojanSof/Fractals

Build the project using Maven

mvn clean
mvn package

Fractals-0.0.1-SNAPSHOT.jar file will be created under target folder

Running the program

The program can be executed with double click on the Fractals-0.0.1-SNAPSHOT.jar file, or using terminal:

java -jar Fractals-0.0.1-SNAPSHOT.jar

Future additions and improvements

Many optimisations and additions can be added spcifically to Mandelbrot set, like:

  • Color Pallete editor
  • Multithreding support
  • Calculations with arbitrary precision, for very small bounds (below the range of double)

Example Images generated with the Mandelbrot set

Data for the examples (like number of iterations, real and imaginary part minimum and maximum values) are mainly taken from this site, which I found very useful during the creation of Mandelbrot set part of the project.

Example 1 Example 2 Example 3 Example 4 Example 5 Example 6

About

Collection of fractals

License:MIT License


Languages

Language:Java 100.0%