Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adia-dev/bmp_fractals_cpp
https://github.com/adia-dev/bmp_fractals_cpp
Last synced: about 8 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/adia-dev/bmp_fractals_cpp
- Owner: adia-dev
- Created: 2023-11-25T21:54:31.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2023-11-25T23:16:58.000Z (12 months ago)
- Last Synced: 2024-04-20T16:53:05.400Z (7 months ago)
- Language: C++
- Size: 803 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BMP Image Generation and Fractals in C++
This project is a demonstration of BMP image generation from scratch in C++. In addition, it explores the creation of fractals using this image generation capability.
## Prerequisites
- CMake 3.26 or higher
- C++17 compiler
- Debug build type## Build and Run
To build the project, use the following commands:
```cpp
mkdir build
cd build
cmake ..
make
```To execute the program, run:
```zsh
./bmp_fractal
```## What I Learned
Working on this project has been a valuable learning experience. Here are some key takeaways:
1. **Image Generation**: I gained insights into generating BMP images from scratch, understanding the file format, and manipulating pixel data.
2. **Fractals**: I explored fractal generation techniques, which allowed me to create stunning visual patterns.
3. **Struct Padding and Packing**: Dealing with BMP file structures helped me understand struct padding and packing, ensuring data alignment.
4. **Clean and Concise Code**: Writing clean and concise code became crucial for this project, improving readability and maintainability.
## Demo Images
Here are some demo images generated with this project:
### Red Pixel:
### Mandelbrot Fractal:
![Mandelbrot](out/mandelbrot.bmp)### Julia Fractal(Purple Color Palette):
![Julia](out/julia.bmp)### Burning Ship Fractal(Blue/Green Color Palette):
![Burning Ship](out/burning_ship.bmp)