faycalki / java-fractals-generator

The Java Fractal Generator is an interactive and visually captivating application designed for creating intricate fractal art. Leveraging the power of JavaFX and following the MVC architecture, this project offers a seamless user experience with dynamic blend modes, canvas management, and a variety of fractal patterns, and a responsive design.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Java Fractal Generator

Project Overview

Java Fractal Generator is an elegant and interactive application designed for creating captivating fractal art. The application leverages JavaFX and follows the MVC (Model-View-Controller) architecture to provide a seamless user experience.

Key Features

  • Dynamic Blend Modes: Cycle through a variety of blend modes for each successive drawing.
  • Canvas Management: Clear the canvas effortlessly to start a new masterpiece.
  • Fractal Patterns: Explore more than 2 different fractal drawing patterns.
  • Responsive Design: Automatically adapted to the user's monitor dimensions, ensuring an optimal viewing experience.

Getting Started

Prerequisites

  • Java 8 or later installed.
  • JavaFX library.

Installation

  1. Clone the Repository:

    git clone https://github.com/faycalki/java-fractal-generator.git
    cd fractal-generator
  2. Compile the entry point:

    javac FractalView.java
    java FractalView

Usage

  • Change Blend Mode: Click the "Change Blend Mode" button to gracefully transition between blend modes.
  • Clear Canvas: Click the "Clear Canvas" button to reset the canvas for a fresh start.
  • Change Pattern: Click the "Change Fractal Pattern" button to explore different drawing patterns.
  • Create Art: Click on the canvas to generate mesmerizing, fractal art.
  • Adjustable Fractals: Easily change the widths, lengths of the initial recursions for diverse results from the fractal patterns.
  • Responsive Fractals: The fractals are partially translucent and are responsive to other fractals that they may interact with, if the blending mode and colours allow so.

Screenshots

Fractal Drawing
Fig. 1: A captivating fractal drawing using one of the drawing patterns

Fractal Drawing
Fig. 2: A captivating fractal drawing using a different drawing pattern

Fractal Drawing
Fig. 3: Another fractal drawing of another drawing pattern

Blend Mode Change
Fig. 4: Effortlessly change blend modes, clear canvas, and or change fractal patterns

UML Diagram

UML Diagram
Fig. 5: UML Diagram of the project, showcasing the MVC Architecture.

License

This project is licensed under the GNU License - see the LICENSE file for details.

Disclaimer

This project contains a disclaimer - see the DISCLAIMER file for details.

About

The Java Fractal Generator is an interactive and visually captivating application designed for creating intricate fractal art. Leveraging the power of JavaFX and following the MVC architecture, this project offers a seamless user experience with dynamic blend modes, canvas management, and a variety of fractal patterns, and a responsive design.


Languages

Language:Java 100.0%