+
Skip to content

AlexJMercer/Fractal-Art

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌿 Fractals Project

Introduction

Welcome to the Fractals Project! This project explores the fascinating world of fractals, mathematical sets that exhibit a repeating pattern at every scale. Fractals are not only beautiful but also have applications in various fields such as computer graphics, nature modeling, and more.

In this project, so far I've implemented only the Mandelbrot Set.

Have a Peek!

Here are some screenshots of the fractals generated by this project:

Colorful Jade Orange Lightning

How it Works

This project takes advantage of a few nifty features. They include:

  • Multithreading: Fractal Rendering done using standard threads. Achieves a speedup of upto 500%.
  • Color Palettes: Randomized color palettes are generated each time the program is run. You can also customize this by playing with the ColorPalette class.
  • Controls: Allows user to interact, zoom in/out, move around, and even take a snapshot.

How to Use:

  • So far, we're generating a Mandelbrot Set with a variable number of Iterations and a randomized Color Palette.
  • The user can zoom in and out of the fractal by clicking on the desired area. Zoom In = Left Click, Zoom Out = Right Click.
  • You can increase/decrease the number of iterations by scrolling your mouse wheel Up or Down.
  • You can move around the image canvas by pressing your Up, Down, Left or Right keys.
  • Press Space to save the currently rendered fractal to the data folder as a .jpg file.
  • To exit, press Esc.

How to Build

To build and run the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/AlexJMercer/Fractal-Art.git
    cd Fractal-Art
  2. Build from CMakeLists:

    mkdir build
    cmake -S . -B build -G "Visual Studio 17 2022"
    cmake --build build --config Release
  3. Run the application:

    build\Release\Fractals.exe -i <iterations> -d <CPU/GPU> -w <width> -h <height>

Or, you can simply run the run.bat file from the root folder.

What's Next

We have exciting plans for the future of this project, including:

  • Adding more fractal algorithms.

Stay tuned for updates and feel free to contribute!


Thank you for checking out the Fractals Project! If you have any questions or suggestions, please open an issue or submit a pull request.

About

Generating Fractals in C++ using SFML. For the ultimate visual stimulation and in-depth code!

Topics

Resources

License

Stars

Watchers

Forks

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载