Plotting Mandelbrot Set using SDL 2.0

Implementation of plotting the Mandelbrot Set using the SDL library for rendering.

Project Architecture

SDLWindow.h/.cpp: - Encapsulates the window display settings

MandelbrotSet.h/.cpp: - Container class that holds an instance of SDLWindow - Class proprietary methods to compute the brightness and scale the pixel values

main.cpp: - Driver program and entry point for execution

Udacity CppND Capstone Project rubric points addressed:

README

  • (All Rubric Points REQUIRED)

Compiling and Testing

  • (All Rubric Points REQUIRED)

Loops, Functions, I/O

  • The project demonstrates an understanding of C++ functions and control structures.

Object Oriented Programming

  • The project uses Object Oriented Programming techniques (SDLWindow.h/.cpp | MandelbrotSet.h/.cpp)
  • Classes use appropriate access specifiers for class members (SDLWindow.h/.cpp | MandelbrotSet.h/.cpp)
  • Class constructors utilize member initialization lists (MandelbrotSet.cpp, line 22)
  • Classes abstract implementation details from their interfaces (SDLWindow.h/.cpp | MandelbrotSet.h/.cpp)

Dependencies for Running Locally

Build and Run Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./mandelbrot