Math Plotter++ is an application for plotting mathematical functions, built with C++20, SFML for graphics, muParser for parsing mathematical expressions, and Dear ImGui for the user interface.
Plot up to 15 mathematical functions simultaneously.
Switch between three color themes.
Pan and zoom using the mouse while the coordinate grid dynamically adapts to the current zoom level.
Change function colors and get immediate feedback for invalid expressions.
Math Plotter++ is split into separate components, each responsible for a specific part of the application.
Application: manages the application lifecycle and coordinates components.CameraController: handles graph navigation, zooming, and the viewport.GridRenderer: renders the coordinate grid, axes, and labels.FunctionRenderer: parses and renders mathematical functions.UserInterface: manages the ImGui-based user interface.Theme: manages application color themes.ColorPalette: defines the colors used by the themes.
Math Plotter++ currently targets Linux.
- C++20 compatible compiler
- CMake 3.22 or newer
- Git
On Ubuntu and other Debian-based distributions, install the required tools and SFML system dependencies:
sudo apt update
sudo apt install \
build-essential \
cmake \
git \
libx11-dev \
libxrandr-dev \
libxcursor-dev \
libxi-dev \
libudev-dev \
libfreetype-dev \
libgl1-mesa-dev \
libegl1-mesa-devClone the repository:
git clone https://github.com/bilyayeva/math-plotter.git
cd math-plotterConfigure and build the project:
cmake -S . -B build
cmake --build buildCMake automatically downloads and builds SFML, Dear ImGui, ImGui-SFML, and muParser.
./build/mathplotterThis project is licensed under the terms of the MIT License.



