Skip to content

Repository files navigation

JFractal

A real-time, CPU-bound Julia Set fractal visualization engine built with Java Swing. JFractal implements continuous parameter-space exploration with dynamic color mapping, delivering a self-evolving mathematical visualization through pixel-accurate rendering.

JFractal Preview

Note

If you want to check the results of the program, follow the link to the assets folder, which contains the most interesting examples of fractals.


Features

  • Dynamic Julia Parameter Drift: The complex parameter c slowly moves and occasionally jumps to new positions, generating different Julia set shapes — from tree-like structures to scattered dust patterns.
  • HSB-Based Color Mapping: Colors are assigned based on how fast each pixel escapes the fractal, using the HSB model where hue shifts over time, saturation changes with depth, and brightness indicates escape speed.
  • Adaptive Iteration Depth: The number of calculation steps per pixel automatically adjusts between 55-85, balancing visual detail and performance.
  • Automated Parameter Space Exploration: Every 9-13 seconds, the system randomly picks a new c value, occasionally exploring wider areas of the complex plane.
  • Full-Screen Canvas Auto-Scaling: The fractal automatically fits any screen size while maintaining correct proportions.
  • Real-Time Rendering Pipeline: Updates the display ~35 times per second (every 28ms), calculating each pixel individually.

Installation & Run

Prerequisites

  • JDK 8 or higher
  • Git

Setup

  1. Clone the repository to your local machine:
git clone https://github.com/sma1lo/JFractal.git
  1. Navigate to the project root directory:
cd JFractal
  1. Compile the source code:
javac org/jfractal/*.java
  1. Run the application:
java org.jfractal.Launcher

About

Interactive program for real-time Julia set fractal generation.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages